amotify 0.1.8 → 0.1.10

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 (178) hide show
  1. package/dist/@declaration/_.js +0 -1
  2. package/dist/@declaration/module.js +0 -1
  3. package/dist/@declaration/property.js +0 -1
  4. package/dist/@styles/componentClasses/_.css +1 -1
  5. package/dist/@utils/GenerateClassName.js +1 -2
  6. package/dist/@utils/LaunchReactApp.js +1 -2
  7. package/dist/@utils/_.js +1 -2
  8. package/dist/@utils/collectForm.js +1 -2
  9. package/dist/@utils/color.js +1 -2
  10. package/dist/@utils/config.js +1 -2
  11. package/dist/@utils/fin.js +0 -1
  12. package/dist/@utils/jsminEx.js +1 -2
  13. package/dist/@utils/pageTransit.js +1 -2
  14. package/dist/@utils/useRecycle.js +1 -2
  15. package/dist/@utils/useStore.js +1 -2
  16. package/dist/atoms/Box.js +1 -2
  17. package/dist/atoms/FAI.js +1 -2
  18. package/dist/atoms/Flex.js +1 -2
  19. package/dist/atoms/Grid.js +1 -2
  20. package/dist/atoms/Img.js +1 -2
  21. package/dist/atoms/Logo.js +1 -2
  22. package/dist/atoms/P.js +1 -2
  23. package/dist/atoms/Placeholder.js +1 -2
  24. package/dist/atoms/Span.js +1 -2
  25. package/dist/atoms/_.js +0 -1
  26. package/dist/{chunk-E3D4DIO4.js → chunk-VY3566IV.js} +0 -1
  27. package/dist/fn/Button.js +1 -2
  28. package/dist/fn/Cropper.d.ts +0 -1
  29. package/dist/fn/Cropper.js +1 -2
  30. package/dist/fn/Effect/Fade.js +1 -2
  31. package/dist/fn/Effect/Pudding.js +1 -2
  32. package/dist/fn/Effect/Ripple.js +1 -2
  33. package/dist/fn/Effect/_.js +1 -2
  34. package/dist/fn/Input/Checker.js +1 -2
  35. package/dist/fn/Input/Chips/Selector.js +1 -2
  36. package/dist/fn/Input/Chips/_.js +1 -2
  37. package/dist/fn/Input/Contenteditable.js +1 -2
  38. package/dist/fn/Input/DigitCharacters.js +1 -2
  39. package/dist/fn/Input/Filer.js +1 -2
  40. package/dist/fn/Input/Hidden.js +1 -2
  41. package/dist/fn/Input/List.js +1 -2
  42. package/dist/fn/Input/Parts.js +1 -2
  43. package/dist/fn/Input/Plain.js +1 -2
  44. package/dist/fn/Input/RichSelect.js +1 -2
  45. package/dist/fn/Input/Search.js +1 -2
  46. package/dist/fn/Input/Segmented.js +1 -2
  47. package/dist/fn/Input/Select.js +1 -2
  48. package/dist/fn/Input/Slider.js +1 -2
  49. package/dist/fn/Input/Switch.js +1 -2
  50. package/dist/fn/Input/Text.js +1 -2
  51. package/dist/fn/Input/TextArea.js +1 -2
  52. package/dist/fn/Input/Time/Picker.js +1 -2
  53. package/dist/fn/Input/Time/_.js +1 -2
  54. package/dist/fn/Input/_.js +1 -2
  55. package/dist/fn/Input/core.js +1 -2
  56. package/dist/fn/Layout/PageNotFound.js +1 -2
  57. package/dist/fn/Layout/PageRouter.js +1 -2
  58. package/dist/fn/Layout/PageViewController.js +1 -2
  59. package/dist/fn/Layout/Plate.js +1 -2
  60. package/dist/fn/Layout/RootViewController.js +1 -2
  61. package/dist/fn/Layout/SwipeView.js +1 -2
  62. package/dist/fn/Layout/TabBar.js +1 -2
  63. package/dist/fn/Layout/_.js +1 -2
  64. package/dist/fn/Loader/_.js +1 -2
  65. package/dist/fn/Loader/corner.js +1 -2
  66. package/dist/fn/Loader/mini.js +1 -2
  67. package/dist/fn/Loader/top.js +1 -2
  68. package/dist/fn/Sheet.js +1 -2
  69. package/dist/fn/Snackbar.js +1 -2
  70. package/dist/fn/Table/Data.js +1 -2
  71. package/dist/fn/Table/Drag.js +1 -2
  72. package/dist/fn/Table/Normal.js +1 -2
  73. package/dist/fn/Table/Parts.js +1 -2
  74. package/dist/fn/Table/Wrapper.js +1 -2
  75. package/dist/fn/Table/_.js +1 -2
  76. package/dist/fn/Table/cellStyling.js +1 -2
  77. package/dist/fn/Tooltips.js +1 -2
  78. package/dist/fn/_.js +0 -1
  79. package/dist/index.js +0 -1
  80. package/dist/mols/Accordion.js +1 -2
  81. package/dist/mols/Column.js +1 -2
  82. package/dist/mols/LinkifyText.js +1 -2
  83. package/dist/mols/List.d.ts +1 -1
  84. package/dist/mols/List.js +1 -2
  85. package/dist/mols/Row.js +1 -2
  86. package/dist/mols/Text.js +1 -2
  87. package/dist/mols/_.js +0 -1
  88. package/dist/orgs/_.js +0 -1
  89. package/dist/style.css +1 -1
  90. package/dist/style.d.ts +2 -2
  91. package/dist/temps/_.js +0 -1
  92. package/package.json +5 -5
  93. package/dist/@declaration/_.js.map +0 -7
  94. package/dist/@declaration/module.js.map +0 -7
  95. package/dist/@declaration/property.js.map +0 -7
  96. package/dist/@utils/GenerateClassName.js.map +0 -7
  97. package/dist/@utils/LaunchReactApp.js.map +0 -7
  98. package/dist/@utils/_.js.map +0 -7
  99. package/dist/@utils/collectForm.js.map +0 -7
  100. package/dist/@utils/color.js.map +0 -7
  101. package/dist/@utils/config.js.map +0 -7
  102. package/dist/@utils/fin.js.map +0 -7
  103. package/dist/@utils/jsminEx.js.map +0 -7
  104. package/dist/@utils/pageTransit.js.map +0 -7
  105. package/dist/@utils/useRecycle.js.map +0 -7
  106. package/dist/@utils/useStore.js.map +0 -7
  107. package/dist/atoms/Box.js.map +0 -7
  108. package/dist/atoms/FAI.js.map +0 -7
  109. package/dist/atoms/Flex.js.map +0 -7
  110. package/dist/atoms/Grid.js.map +0 -7
  111. package/dist/atoms/Img.js.map +0 -7
  112. package/dist/atoms/Logo.js.map +0 -7
  113. package/dist/atoms/P.js.map +0 -7
  114. package/dist/atoms/Placeholder.js.map +0 -7
  115. package/dist/atoms/Span.js.map +0 -7
  116. package/dist/atoms/_.js.map +0 -7
  117. package/dist/chunk-E3D4DIO4.js.map +0 -7
  118. package/dist/fn/Button.js.map +0 -7
  119. package/dist/fn/Cropper.js.map +0 -7
  120. package/dist/fn/Effect/Fade.js.map +0 -7
  121. package/dist/fn/Effect/Pudding.js.map +0 -7
  122. package/dist/fn/Effect/Ripple.js.map +0 -7
  123. package/dist/fn/Effect/_.js.map +0 -7
  124. package/dist/fn/Input/Checker.js.map +0 -7
  125. package/dist/fn/Input/Chips/Selector.js.map +0 -7
  126. package/dist/fn/Input/Chips/_.js.map +0 -7
  127. package/dist/fn/Input/Contenteditable.js.map +0 -7
  128. package/dist/fn/Input/DigitCharacters.js.map +0 -7
  129. package/dist/fn/Input/Filer.js.map +0 -7
  130. package/dist/fn/Input/Hidden.js.map +0 -7
  131. package/dist/fn/Input/List.js.map +0 -7
  132. package/dist/fn/Input/Parts.js.map +0 -7
  133. package/dist/fn/Input/Plain.js.map +0 -7
  134. package/dist/fn/Input/RichSelect.js.map +0 -7
  135. package/dist/fn/Input/Search.js.map +0 -7
  136. package/dist/fn/Input/Segmented.js.map +0 -7
  137. package/dist/fn/Input/Select.js.map +0 -7
  138. package/dist/fn/Input/Slider.js.map +0 -7
  139. package/dist/fn/Input/Switch.js.map +0 -7
  140. package/dist/fn/Input/Text.js.map +0 -7
  141. package/dist/fn/Input/TextArea.js.map +0 -7
  142. package/dist/fn/Input/Time/Picker.js.map +0 -7
  143. package/dist/fn/Input/Time/_.js.map +0 -7
  144. package/dist/fn/Input/_.js.map +0 -7
  145. package/dist/fn/Input/core.js.map +0 -7
  146. package/dist/fn/Layout/PageNotFound.js.map +0 -7
  147. package/dist/fn/Layout/PageRouter.js.map +0 -7
  148. package/dist/fn/Layout/PageViewController.js.map +0 -7
  149. package/dist/fn/Layout/Plate.js.map +0 -7
  150. package/dist/fn/Layout/RootViewController.js.map +0 -7
  151. package/dist/fn/Layout/SwipeView.js.map +0 -7
  152. package/dist/fn/Layout/TabBar.js.map +0 -7
  153. package/dist/fn/Layout/_.js.map +0 -7
  154. package/dist/fn/Loader/_.js.map +0 -7
  155. package/dist/fn/Loader/corner.js.map +0 -7
  156. package/dist/fn/Loader/mini.js.map +0 -7
  157. package/dist/fn/Loader/top.js.map +0 -7
  158. package/dist/fn/Sheet.js.map +0 -7
  159. package/dist/fn/Snackbar.js.map +0 -7
  160. package/dist/fn/Table/Data.js.map +0 -7
  161. package/dist/fn/Table/Drag.js.map +0 -7
  162. package/dist/fn/Table/Normal.js.map +0 -7
  163. package/dist/fn/Table/Parts.js.map +0 -7
  164. package/dist/fn/Table/Wrapper.js.map +0 -7
  165. package/dist/fn/Table/_.js.map +0 -7
  166. package/dist/fn/Table/cellStyling.js.map +0 -7
  167. package/dist/fn/Tooltips.js.map +0 -7
  168. package/dist/fn/_.js.map +0 -7
  169. package/dist/index.js.map +0 -7
  170. package/dist/mols/Accordion.js.map +0 -7
  171. package/dist/mols/Column.js.map +0 -7
  172. package/dist/mols/LinkifyText.js.map +0 -7
  173. package/dist/mols/List.js.map +0 -7
  174. package/dist/mols/Row.js.map +0 -7
  175. package/dist/mols/Text.js.map +0 -7
  176. package/dist/mols/_.js.map +0 -7
  177. package/dist/orgs/_.js.map +0 -7
  178. package/dist/temps/_.js.map +0 -7
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/fn/Cropper.tsx"],
4
- "sourcesContent": ["import {\n $$,\n Config,\n useStore\n} from '@utils'\nimport {\n useState,\n useEffect\n} from 'react'\n\nimport Flex from '@atoms/Flex'\nimport Box from '@atoms/Box'\nimport FAI from '@atoms/FAI'\nimport Column from '@mols/Column'\nimport Row from '@mols/Row'\nimport Button from '@fn/Button'\nimport Sheet from '@fn/Sheet'\nimport Loader from '@fn/Loader/_'\nimport Input from '@fn/Input/_'\n\nimport { faPalette } from '@fortawesome/free-solid-svg-icons/faPalette'\nimport { faBarsStaggered } from '@fortawesome/free-solid-svg-icons/faBarsStaggered'\nimport { faRotateLeft } from '@fortawesome/free-solid-svg-icons/faRotateLeft'\nimport { faRotateRight } from '@fortawesome/free-solid-svg-icons/faRotateRight'\n\nimport { CropperClasses } from '@styles/componentClasses/_'\n\nnamespace Cropper {\n export type Use = 'square' | 'wallpaper.horizontal' | 'wallpaper.vertical'\n export type Input = {\n use: Use\n develops: DevelopParams[]\n onProcessFinished: {\n ( files: Input.Filer.CustomFile[] ): void\n }\n }\n export type DevelopParams = {\n size: 'S' | 'R' | 'L'\n maxSize?: number\n }\n export type Methods = {\n open( params: Input ): void\n }\n export type CoreProps = {\n val_file: Input.Filer.CustomFile\n options: Input\n finishedCallback( files: Input.Filer.CustomFile[] ): void\n abortCallback(): void\n }\n}\nclass Picture {\n set_scale: React.Dispatch<React.SetStateAction<number>>\n val_file: File\n develops: Cropper.DevelopParams[]\n\n use: Cropper.Use\n componentID: string\n Canvas: {\n elm: HTMLCanvasElement\n ctx: CanvasRenderingContext2D\n }\n Picture: {\n elm: HTMLImageElement\n aspect: number\n originDataUrl: string\n revisedAspect: number\n rotate: number\n grayScale: number\n tone: number\n }\n scale: {\n current: number\n default: number\n min: number,max: number\n }\n pst: {\n frame: {\n x: number,y: number,w: number,h: number,aspect: number\n }\n outImage: {\n x: number,y: number,w: number,h: number\n }\n imageX: number,imageY: number\n centerX: number,centerY: number\n }\n\n dragEffectInfo: {\n origin: { x: number,y: number }\n frameExpandRate: { x: number,y: number }\n }\n pinchEffectInfo: {\n origin: {\n x: number,\n y: number,\n scale: number\n }\n }\n\n constructor( params: {\n set_scale: React.Dispatch<React.SetStateAction<number>>\n val_file: File\n develops: Cropper.DevelopParams[]\n scale: {\n default: number\n min: number\n max: number\n }\n picture: {\n image: HTMLImageElement\n grayScale: number\n tone: number\n rotate: number\n }\n use: Cropper.Use\n componentID: string\n canvas: HTMLCanvasElement\n } ) {\n this.set_scale = params.set_scale\n this.val_file = params.val_file\n this.develops = params.develops\n\n this.use = params.use\n this.componentID = params.componentID\n\n this.scale = {\n current: params.scale.default,\n default: params.scale.default,\n min: params.scale.min,\n max: params.scale.max\n }\n\n let Canvas = params.canvas\n let {\n width: cvsW,\n height: cvsH\n } = Canvas\n\n let Picture = params.picture.image\n let {\n width: pictW,\n height: pictH\n } = Picture\n let pictAsp = pictW / pictH\n\n this.Canvas = {\n elm: Canvas,\n ctx: Canvas.getContext( '2d' )!\n }\n\n let frameW = 0,frameH = 0\n if ( this.use == 'square' ) {\n frameW = Canvas.width / 3 * 2\n frameH = Canvas.height / 3 * 2\n } else if ( this.use == 'wallpaper.horizontal' ) {\n frameW = Canvas.width * ( 7 / 9 )\n frameH = frameW / 3\n } else if ( this.use == 'wallpaper.vertical' ) {\n frameH = Canvas.height * ( 7 / 9 )\n frameW = frameH / 2\n }\n\n let frameX = ( Canvas.width - frameW ) / 2\n let frameY = ( Canvas.height - frameH ) / 2\n let frameAsp = frameW / frameH\n\n this.Picture = {\n elm: Picture,\n originDataUrl: Picture.src,\n aspect: pictAsp,\n revisedAspect: frameAsp > pictAsp\n ? frameW / pictW\n : frameH / pictH,\n rotate: params.picture.rotate,\n grayScale: params.picture.grayScale,\n tone: params.picture.tone\n }\n\n this.pst = {\n frame: {\n x: frameX,\n y: frameY,\n w: frameW,\n h: frameH,\n aspect: frameAsp,\n },\n outImage: { x: 0,y: 0,w: 0,h: 0 },\n imageX: pictW / 2,\n imageY: pictH / 2,\n centerX: cvsW / 2,\n centerY: cvsH / 2\n }\n\n\n this.dragEffectInfo = {\n origin: { x: 0,y: 0 },\n frameExpandRate: { x: 0,y: 0 }\n }\n this.pinchEffectInfo = {\n origin: {\n x: 0,y: 0,\n scale: this.scale.current\n }\n }\n this.modifyImage()\n }\n dragEffect( params: {\n eventType: 'start' | 'move' | 'end'\n x: number\n y: number\n } ) {\n let {\n eventType,x,y\n } = params\n\n if ( eventType == 'start' ) {\n let CanvasRect = this.Canvas.elm.position()\n this.dragEffectInfo = {\n origin: { x,y },\n frameExpandRate: {\n x: this.Canvas.elm.width / CanvasRect.width,\n y: this.Canvas.elm.height / CanvasRect.height\n }\n }\n } else {\n let {\n origin,\n frameExpandRate\n } = this.dragEffectInfo\n let dragX = origin.x - x\n let dragY = origin.y - y\n\n let scale = this.scale.current * this.Picture.revisedAspect / 100\n\n let shiftX = dragX / scale * frameExpandRate.x\n let shiftY = dragY / scale * frameExpandRate.y\n\n if ( eventType == 'move' ) {\n this.drawImage(\n this.pst.imageX + shiftX,\n this.pst.imageY + shiftY,\n )\n } else if ( eventType == 'end' ) {\n this.drawImage(\n this.pst.imageX += shiftX,\n this.pst.imageY += shiftY\n )\n }\n }\n }\n pinchEffect( params: {\n eventType: 'start' | 'move'\n event: any\n } ) {\n let {\n eventType,\n event\n } = params\n let { x: x1,y: y1 } = $$.getCursor( event.touches[ 0 ] )\n let { x: x2,y: y2 } = $$.getCursor( event.touches[ 1 ] )\n\n let marginX = x2 - x1\n let marginY = y2 - y1\n if ( eventType == 'start' ) {\n\n this.pinchEffectInfo.origin = {\n x: marginX,y: marginY,\n scale: this.scale.current\n }\n } else if ( eventType == 'move' ) {\n let {\n origin\n } = this.pinchEffectInfo\n\n let originDist = Math.sqrt( Math.pow( origin.x,2 ) + Math.pow( origin.y,2 ) )\n let dist = Math.sqrt( Math.pow( marginX,2 ) + Math.pow( marginY,2 ) )\n let margin = dist / originDist\n\n let scale = Number( origin.scale * margin )\n this.set_scale( scale )\n }\n }\n\n updateScale( scale: number ) {\n let nextValue = scale\n nextValue = Math.max( nextValue,this.scale.min )\n nextValue = Math.min( nextValue,this.scale.max )\n\n this.scale.current = nextValue\n this.drawImage()\n }\n updateFilter( params: {\n grayScale: number\n tone: number\n rotate: number\n } ) {\n this.Picture.grayScale = params.grayScale\n this.Picture.tone = params.tone\n this.Picture.rotate = params.rotate\n this.modifyImage()\n }\n async modifyImage() {\n let {\n grayScale,\n tone,\n rotate\n } = this.Picture\n\n const canvas = document.createElement( 'canvas' )\n let ctx = canvas.getContext( '2d' )!\n let image = new Image()\n image.src = this.Picture.originDataUrl\n let ImageW = image.width\n let ImageH = image.height\n\n if ( rotate == 90 || rotate == 270 ) {\n ImageW = image.height\n ImageH = image.width\n }\n\n canvas.width = ImageW\n canvas.height = ImageH\n\n if ( grayScale ) ctx.filter = 'grayscale(' + grayScale + '%)'\n\n if ( rotate ) {\n ctx.translate( ImageW / 2,ImageH / 2 )\n ctx.rotate( rotate * Math.PI / 180 )\n if ( [ 90,270 ].includes( rotate ) ) {\n ctx.translate( -ImageH / 2,-ImageW / 2 )\n } else {\n ctx.translate( -ImageW / 2,-ImageH / 2 )\n }\n }\n\n ctx.drawImage( image,0,0,image.width,image.height )\n let newImage = ctx.getImageData( 0,0,canvas.width,canvas.height )\n let imgData = newImage.data\n\n {\n grayScale /= 100\n\n let ColorDir = [\n [ 255,255,255 ], // Original\n [ 255,200,100 ], // Warm\n [ 170,170,255 ], // Cold\n [ 240,200,145 ], // Sepia\n [ 128,255,255 ], // Cyan\n [ 255,128,255 ], // Magenta\n [ 255,255,128 ], // Yellow\n [ 128,158,169 ], // Origin1\n [ 128,112,162 ], // Origin2\n [ 50,192,87 ], // Origin3\n [ 246,100,140 ], // Origin4\n ][ tone ]\n let rCorrect = ColorDir[ 0 ] / 255\n let gCorrect = ColorDir[ 1 ] / 255\n let bCorrect = ColorDir[ 2 ] / 255\n\n for ( let iH = 0; iH < ImageH; iH++ ) {\n for ( let iW = 0; iW < ImageW; iW++ ) {\n var Index = ( iH * ImageW + iW ) * 4\n\n if ( grayScale ) {\n let terminal = 0.3 * imgData[ Index ] + 0.59 * imgData[ Index + 1 ] + 0.11 * imgData[ Index + 2 ]\n for ( var k = 0; k < 3; k++ ) {\n let current = imgData[ Index + k ]\n imgData[ Index + k ] = current + ( terminal - current ) * grayScale\n }\n }\n\n imgData[ Index ] *= rCorrect\n imgData[ Index + 1 ] *= gCorrect\n imgData[ Index + 2 ] *= bCorrect\n }\n }\n }\n\n ctx.putImageData( newImage,0,0 )\n\n let newDataUrl = canvas.toDataURL( 'image/jpeg' )\n\n {\n let Picture = await $$.ImageLoader( newDataUrl )\n let {\n width: pictW,\n height: pictH\n } = Picture\n let pictAsp = pictW / pictH\n\n this.Picture = {\n ...this.Picture,\n elm: Picture,\n aspect: pictAsp,\n revisedAspect: this.pst.frame.aspect > pictAsp\n ? this.pst.frame.w / pictW\n : this.pst.frame.h / pictH\n }\n // this.pst.imageX = pictW / 2\n // this.pst.imageY = pictH / 2\n }\n\n this.drawImage()\n }\n drawImage( _imageX?: number,_imageY?: number ) {\n let {\n use,\n Canvas: {\n ctx\n },\n pst: {\n frame\n }\n } = this\n\n let ImageX = _imageX || this.pst.imageX\n let ImageY = _imageY || this.pst.imageY\n\n {\n let scale = this.scale.current / 100\n\n let totalScale = this.Picture.revisedAspect * scale\n\n let imgX = this.pst.centerX - ImageX * totalScale\n let imgY = this.pst.centerY - ImageY * totalScale\n let imgW = this.Picture.elm.width * totalScale\n let imgH = this.Picture.elm.height * totalScale\n\n {\n let minX = this.pst.frame.x + this.pst.frame.w - imgW\n let maxX = this.pst.frame.x\n let minY = this.pst.frame.y + this.pst.frame.h - imgH\n let maxY = this.pst.frame.y\n\n let extraX = 0\n if ( imgX < minX ) extraX = imgX - minX\n if ( imgX > maxX ) extraX = imgX - maxX\n\n let extraY = 0\n if ( imgY < minY ) extraY = imgY - minY\n if ( imgY > maxY ) extraY = imgY - maxY\n\n this.dragEffectInfo.origin.x += extraX / 2 / this.dragEffectInfo.frameExpandRate.x\n this.dragEffectInfo.origin.y += extraY / 2 / this.dragEffectInfo.frameExpandRate.y\n\n imgX = Math.min( Math.max( imgX,minX ),maxX )\n imgY = Math.min( Math.max( imgY,minY ),maxY )\n }\n\n this.pst.outImage = {\n x: imgX,y: imgY,\n w: imgW,h: imgH\n }\n\n ctx.clearRect(\n 0,\n 0,\n this.Canvas.elm.width,\n this.Canvas.elm.height\n )\n\n ctx.drawImage(\n this.Picture.elm,\n 0,0,this.Picture.elm.width,this.Picture.elm.height,\n\n imgX,\n imgY,\n imgW,\n imgH\n )\n }\n\n {\n if ( use == 'square' ) {\n ctx.fillStyle = 'rgba( 20,24,20,.3 )'\n ctx.beginPath()\n ctx.arc( this.Canvas.elm.width / 2,this.Canvas.elm.height / 2,this.Canvas.elm.width,0,Math.PI * 2,true )\n ctx.arc( this.Canvas.elm.width / 2,this.Canvas.elm.height / 2,this.Canvas.elm.width / 3 * 2 / 2,0,Math.PI * 2,false )\n ctx.closePath()\n ctx.fill()\n } else if ( use == 'wallpaper.horizontal' ) {\n ctx.fillStyle = 'rgba( 20,24,20,.3 )'\n } else if ( use == 'wallpaper.vertical' ) {\n ctx.fillStyle = 'rgba( 20,24,20,.3 )'\n }\n\n ctx.beginPath()\n ctx.moveTo( 0,0 )\n ctx.lineTo( this.Canvas.elm.width,0 )\n ctx.lineTo( this.Canvas.elm.width,this.Canvas.elm.height )\n ctx.lineTo( 0,this.Canvas.elm.height )\n ctx.lineTo( 0,0 )\n ctx.closePath()\n\n ctx.lineTo( frame.x,frame.y )\n ctx.lineTo( frame.x,frame.y + frame.h )\n ctx.lineTo( frame.x + frame.w,frame.y + frame.h )\n ctx.lineTo( frame.x + frame.w,frame.y )\n ctx.lineTo( frame.x,frame.y )\n ctx.fill()\n\n let body = $$( document.body )\n let themeColorHSL = body.getStyleProperty( '--color-theme-hsl' )\n ctx.lineWidth = this.Canvas.elm.width / 200\n ctx.strokeStyle = `hsla( ${ themeColorHSL },1 )`\n ctx.strokeRect( frame.x,frame.y,frame.w,frame.h )\n }\n }\n async export() {\n let {\n develops,\n Picture,\n pst: {\n outImage,\n frame\n }\n } = this\n\n let ratioX = outImage.w / Picture.elm.width\n let ratioY = outImage.h / Picture.elm.height\n\n let Left = ( frame.x - outImage.x ) / ratioX\n let Right = ( frame.x - outImage.x + frame.w ) / ratioX\n\n let Top = ( frame.y - outImage.y ) / ratioY\n let Bottom = ( frame.y - outImage.y + frame.h ) / ratioY\n\n let Files: any = Array.from( { length: develops.length } )\n\n let MimeType = 'image/jpeg'\n\n for ( let index = 0; index < develops.length; index++ ) {\n let {\n size,maxSize\n } = develops[ index ]\n\n maxSize = maxSize || {\n S: 1024 * 20,\n R: 1024 * 100,\n L: 1024 * 350\n }[ size ]\n\n let width = {\n S: 144,\n R: 576,\n L: 1152\n }[ size ]\n\n let height = width;\n if ( this.use == 'wallpaper.horizontal' ) {\n height = width / 3 * 2\n } else if ( this.use == 'wallpaper.vertical' ) {\n height = width * 2\n }\n\n let Preview = document.createElement( 'canvas' )\n Preview.width = width\n Preview.height = height\n\n let previewCtx = Preview.getContext( '2d' )\n if ( !previewCtx ) return\n\n previewCtx.clearRect( 0,0,width,height )\n previewCtx.drawImage(\n this.Picture.elm,\n Left,\n Top,\n Right - Left,\n Bottom - Top,\n 0,0,\n width,\n height\n )\n\n let dataUrl = Preview.toDataURL( MimeType )\n let blob = await dataUrl.toBlob( MimeType )\n if ( !blob ) return\n\n if ( blob.size >= maxSize ) {\n let Ratio = maxSize / blob.size\n dataUrl = Preview.toDataURL( MimeType,Ratio * 0.92 )\n blob = await dataUrl.toBlob( MimeType )\n if ( !blob ) return\n }\n\n let file = new File( [ blob ],this.val_file.name,{ type: MimeType } )\n\n Files[ index ] = file\n }\n\n return Files\n }\n}\n\nconst Comps: {\n Core: React.FC<Cropper.CoreProps>\n SettingRegion: React.FC<{\n DefaultOptions: plainObject\n val_scale: number\n set_scale: React.Dispatch<React.SetStateAction<number>>\n val_tone: number\n set_tone: React.Dispatch<React.SetStateAction<number>>\n val_grayScale: number\n set_grayScale: React.Dispatch<React.SetStateAction<number>>\n val_rotate: number\n set_rotate: React.Dispatch<React.SetStateAction<number>>\n }>\n} = {\n Core: ( params ) => {\n let {\n val_file,\n options,\n finishedCallback,\n abortCallback,\n } = params\n let {\n use,\n develops = []\n } = options\n\n let [ val_componentID ] = useState( $$.uuid.gen( 32 ) )\n\n const DefaultOptions = {\n scale: {\n default: 125,\n min: 100,\n max: 300\n },\n rotate: 0,\n grayScale: 0,\n tone: 0\n }\n\n let [ val_scale,set_scale ] = useState( DefaultOptions.scale.default )\n let [ val_rotate,set_rotate ] = useState( DefaultOptions.rotate )\n let [ val_grayScale,set_grayScale ] = useState( DefaultOptions.grayScale )\n let [ val_tone,set_tone ] = useState( DefaultOptions.tone )\n\n useEffect( () => {\n useStore.set( {\n key: val_componentID,\n value: {}\n } );\n\n ( async () => {\n Loader.fn.corner.active()\n\n let { target } = await val_file.read()\n if ( !target ) return\n let dataUrl = target!.result as string\n\n let Canvas = $$( Config.get().appRoot ).find( '#Canvas-' + val_componentID )[ 0 ] as HTMLCanvasElement\n if ( !Canvas ) return\n\n let __Cropper = new Picture( {\n set_scale,\n val_file,\n develops,\n use: use,\n scale: DefaultOptions.scale,\n componentID: val_componentID,\n canvas: Canvas,\n picture: {\n image: await $$.ImageLoader( dataUrl ),\n grayScale: DefaultOptions.grayScale,\n tone: DefaultOptions.tone,\n rotate: DefaultOptions.rotate\n }\n } )\n useStore.set( {\n key: val_componentID,\n value: {\n Instance: __Cropper\n }\n } )\n\n const UserEffectStart = function ( event: any ) {\n event.preventDefault()\n\n if ( event.touches && event.touches.length > 1 ) {\n __Cropper.pinchEffect( {\n eventType: 'start',\n event\n } )\n\n $$( document ).addEvent( {\n eventType: 'touchmove',eventID: 'CropperEffectMove',option: { passive: false },\n callback: ( event ) => {\n event.preventDefault()\n __Cropper.pinchEffect( {\n eventType: 'move',\n event\n } )\n },\n } )\n .addEvent( {\n eventType: 'touchend',eventID: 'CropperEffectEnd',option: { passive: false },\n callback: EventEnd,\n } )\n } else {\n __Cropper.dragEffect( {\n eventType: 'start',\n ...$$.getCursor( event )\n } )\n\n let { type } = event\n\n $$( document ).addEvent( {\n eventType: type == 'touchstart' ? 'touchmove' : 'mousemove',eventID: 'CropperEffectMove',option: { passive: false },\n callback: ( event ) => {\n DragEffect( 'move',event )\n },\n } )\n .addEvent( {\n eventType: type == 'touchstart' ? 'touchend' : 'mouseup',eventID: 'CropperEffectEnd',option: { passive: false },\n callback: ( event ) => {\n DragEffect( 'end',event )\n EventEnd( event )\n },\n } )\n }\n }\n const DragEffect = function ( eventType: 'move' | 'end',event: any ) {\n event.preventDefault()\n __Cropper.dragEffect( {\n eventType: eventType,\n ...$$.getCursor( event )\n } )\n }\n const EventEnd = function ( event: any ) {\n event.preventDefault()\n\n $$( document ).removeEvent( [\n 'CropperEffectMove',\n 'CropperEffectEnd'\n ] )\n }\n\n $$( Canvas ).removeEvent( [\n 'CropperMouseWheel',\n 'CropperTouchStart',\n 'CropperMouseDown'\n ] )\n .addEvent( {\n eventID: 'CropperMouseWheel',\n eventType: 'wheel',\n callback: ( event ) => {\n event.preventDefault()\n\n let bitScale = Number( event.wheelDelta * 0.04 )\n let nextScale = __Cropper.scale.current + bitScale\n\n nextScale = Math.max( nextScale,__Cropper.scale.min )\n nextScale = Math.min( nextScale,__Cropper.scale.max )\n\n set_scale( nextScale )\n },\n option: { passive: false }\n } )\n .addEvent( {\n eventType: 'touchstart',eventID: 'CropperTouchStart',\n callback: UserEffectStart,option: { passive: false }\n } )\n .addEvent( {\n eventType: 'mousedown',eventID: 'CropperMouseDown',\n callback: UserEffectStart,option: { passive: false }\n } )\n\n setTimeout( () => {\n Loader.fn.corner.stop()\n },1000 )\n } )()\n },[ val_file.id ] )\n useEffect( () => {\n let Instance: Picture = useStore.get( val_componentID )?.Instance\n if ( Instance ) {\n Instance.updateScale( val_scale )\n }\n },[ val_scale ] )\n useEffect( () => {\n let Instance: Picture = useStore.get( val_componentID )?.Instance\n if ( Instance ) {\n Instance.updateFilter( {\n grayScale: val_grayScale,\n tone: val_tone,\n rotate: val_rotate\n } )\n }\n },[ val_grayScale,val_tone,val_rotate ] )\n\n return <Sheet.Comps.Body>\n <Flex\n className={ [\n CropperClasses( 'Wrap' ),\n CropperClasses( 'Use_' + use )\n ].join( ' ' ) }\n flexWrap={ false }\n position='relative'\n overflow={ 'hidden' }\n borderRadius={ 'inherit' }\n boxShadow={ '3.remark' }\n UnderBreakPointStyles={ {\n flexType: 'col'\n } }\n >\n <Box\n flexGrid={ 3 }\n UnderBreakPointStyles={ {\n width: 1,\n padding: 2\n } }\n >\n <Box\n overflow='hidden'\n position='relative'\n backgroundColor={ '4.layer.darken' }\n freeCSS={ {\n zIndex: 1\n } }\n UnderBreakPointStyles={ {\n borderRadius: '1.tone.primary'\n } }\n >\n <canvas\n width={ '2400' }\n height={\n use == 'wallpaper.horizontal' ? '1800'\n : use == 'wallpaper.vertical' ? '3200'\n : '2400'\n }\n className={ CropperClasses( 'Canvas' ) }\n id={ 'Canvas-' + val_componentID }\n />\n </Box>\n </Box>\n <Column\n gap={ 0 }\n flexGrid={ 2 }\n boxShadow={ '3.remark' }\n UnderBreakPointStyles={ {\n width: 1,\n maxWidth: 'unset'\n } }\n freeCSS={ {\n maxWidth: 12 * 28\n } }\n >\n <Column\n gap={ 1 }\n flexSizing={ 0 }\n overflow='auto'\n padding={ 1.5 }\n UnderBreakPointStyles={ {\n flexSizing: 'none'\n } }\n >\n <Box\n flexSizing='none'\n fontSize='4.thirdTitle'\n isSemiBoldFont\n >\n \u30D5\u30A3\u30EB\u30BF\u30FC\n </Box>\n <Comps.SettingRegion\n DefaultOptions={ DefaultOptions }\n val_scale={ val_scale }\n set_scale={ set_scale }\n val_tone={ val_tone }\n set_tone={ set_tone }\n val_grayScale={ val_grayScale }\n set_grayScale={ set_grayScale }\n val_rotate={ val_rotate }\n set_rotate={ set_rotate }\n />\n </Column>\n <Flex\n padding={ 1.5 }\n flexSizing={ 'none' }\n gap={ 1 }\n borderTop\n >\n <Button.Button.Border.R\n flexGrid={ 1 }\n onClick={ () => {\n abortCallback()\n } }\n >\n \u30AD\u30E3\u30F3\u30BB\u30EB\n </Button.Button.Border.R>\n <Button.Button.Prime.R\n flexGrid={ 2 }\n onClick={ async () => {\n let Instance: Picture = useStore.get( val_componentID )?.Instance\n if ( !Instance ) return\n Loader.fn.mini.active( 'CropperExportation' )\n let Files = await Instance.export()\n\n setTimeout( () => {\n Loader.fn.mini.stop( 'CropperExportation' )\n finishedCallback( Files )\n },3000 )\n } }\n >\n <Row.Center\n gap={ '1/2' }\n >\n <Loader.White.R\n loaderID='CropperExportation'\n />\n \u6C7A\u5B9A\n </Row.Center>\n </Button.Button.Prime.R>\n </Flex>\n </Column>\n </Flex>\n </Sheet.Comps.Body>\n },\n SettingRegion: ( params ) => {\n let ToneList: Input.List.Options[] = []\n for ( let index = 1; index <= 10; index++ ) {\n ToneList.push( {\n value: index,\n label: <>\n <Box\n className={ [\n CropperClasses( 'ToneBall' ),\n CropperClasses( 'ToneBall_' + index )\n ].join( ' ' ) }\n />\n <Box\n textAlign='center'\n flexSizing={ 'auto' }\n >\n { [ '','\u6696\u8272','\u5BD2\u8272','\u30BB\u30D4\u30A2','\u30B7\u30A2\u30F3','\u30DE\u30BC\u30F3\u30BF','\u30A4\u30A8\u30ED\u30FC','\u30AA\u30EA\u30B8\u30CA\u30EB1','\u30AA\u30EA\u30B8\u30CA\u30EB2','\u30AA\u30EA\u30B8\u30CA\u30EB3','\u30AA\u30EA\u30B8\u30CA\u30EB4' ][ index ] }\n </Box>\n </>\n } )\n }\n\n return <>\n <Column gap={ '1/3' } >\n <Box>\n <FAI.Rotate\n fontSize='3.paragraph'\n fontColor='4.thin'\n /> Rotate\n </Box>\n <Row.Separate\n flexChilds='even'\n paddingLeft={ 2 }\n >\n <Button.Button.Border.S\n onClick={ () => {\n let next = params.val_rotate - 90\n if ( next < 0 ) next += 360\n params.set_rotate( next )\n } }\n >\n <FAI icon={ faRotateLeft } /> \u5DE6\u306B\u56DE\u8EE2\n </Button.Button.Border.S>\n <Button.Button.Border.S\n onClick={ () => {\n params.set_rotate( ( params.val_rotate + 90 ) % 360 )\n } }\n >\n \u53F3\u306B\u56DE\u8EE2 <FAI icon={ faRotateRight } />\n </Button.Button.Border.S>\n </Row.Separate>\n </Column>\n <Column gap={ '1/3' } >\n <Box>\n <FAI.Search\n fontSize='3.paragraph'\n fontColor='4.thin'\n /> Zoom\n </Box>\n <Box paddingLeft={ 2 }>\n <Input.Slider\n override='force'\n value={ params.val_scale - 100 }\n min={ params.DefaultOptions.scale.min - 100 }\n max={ params.DefaultOptions.scale.max - 100 }\n step={ 25 }\n onUpdateValidValue={ ( { eventType,value } ) => {\n $$.interval.clear( 'Cropper.UpdateScale' )\n $$.interval.standBy( 'Cropper.UpdateScale',400,() => {\n params.set_scale( value + 100 )\n } )\n } }\n legends={ {\n enable: true,\n custom: ( value ) => {\n let scale = Math.round( 100 + value )\n return 'x' + scale / 100\n }\n } }\n />\n </Box>\n </Column>\n <Column gap={ '1/3' } >\n <Box>\n <FAI\n icon={ faPalette }\n fontSize='3.paragraph'\n fontColor='4.thin'\n /> Gray Scale\n </Box>\n <Box paddingLeft={ 2 }>\n <Input.Slider\n value={ params.val_grayScale }\n min={ 0 }\n max={ 100 }\n step={ 10 }\n onUpdateValidValue={ ( { value } ) => {\n $$.interval.clear( 'Cropper.GrayScale' )\n $$.interval.standBy( 'Cropper.GrayScale',400,() => {\n params.set_grayScale( value )\n } )\n } }\n legends={ {\n enable: true,\n custom: ( value ) => ( value + '%' )\n } }\n />\n </Box>\n </Column>\n <Column gap={ '1/3' }>\n <Box>\n <FAI\n icon={ faBarsStaggered }\n fontSize='3.paragraph'\n fontColor='4.thin'\n /> Tone\n </Box>\n <Box paddingLeft={ 2 }>\n <Input.Radio\n value={ params.val_tone }\n gap={ '1/2' }\n cellStyles={ {\n isRounded: true,\n borderWidth: 2,\n borderColor: '1.thin',\n padding: '1/2',\n paddingRight: 1,\n fontSize: '1.mini',\n gap: '1/3',\n flexSizing: 'auto'\n } }\n options={ [\n {\n value: 0,label: '\u306A\u3057',\n padding: [ '1/2',1 ],\n flexCenter: true\n },\n ...ToneList\n ] }\n onUpdateValidValue={ ( { value } ) => {\n params.set_tone( value[ 0 ] )\n } }\n />\n </Box>\n </Column>\n </>\n }\n}\n\nconst Cropper: Cropper.Methods = {\n open: async ( params ) => {\n let Image = await Input.Filer.fn.openDialog( {\n // accept: 'image/jpeg,image/jpg,image/png,image/gif',\n accept: 'image',\n multiple: false\n } )\n\n let sheetID = 'CropperImage'\n Sheet.open( {\n sheetID: sheetID,\n type: 'normal.middleCenter',\n size: '3L',\n freeCSS: {\n width: params.use == 'wallpaper.horizontal' ? 12 * 100 : 12 * 80\n },\n content: <Comps.Core\n val_file={ Image[ 0 ] as any }\n options={ params }\n finishedCallback={ ( files ) => {\n Sheet.close( sheetID )\n params.onProcessFinished( files )\n } }\n abortCallback={ () => {\n Sheet.close( sheetID )\n } }\n />,\n close_option: {\n escapeKeyDown: false\n }\n } )\n }\n}\n\nexport {\n Cropper,\n Cropper as default\n}"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "$$", "Config", "useStore", "useState", "useEffect", "Flex", "Box", "FAI", "Column", "Row", "Button", "Sheet", "Loader", "Input", "faPalette", "faBarsStaggered", "faRotateLeft", "faRotateRight", "CropperClasses", "Picture", "params", "Canvas", "cvsW", "cvsH", "pictW", "pictH", "pictAsp", "frameW", "frameH", "frameX", "frameY", "frameAsp", "eventType", "x", "y", "CanvasRect", "origin", "frameExpandRate", "dragX", "dragY", "scale", "shiftX", "shiftY", "event", "x1", "y1", "x2", "y2", "marginX", "marginY", "originDist", "margin", "nextValue", "__async", "grayScale", "tone", "rotate", "canvas", "ctx", "image", "ImageW", "ImageH", "newImage", "imgData", "ColorDir", "rCorrect", "gCorrect", "bCorrect", "iH", "iW", "Index", "terminal", "k", "current", "newDataUrl", "__spreadProps", "__spreadValues", "_imageX", "_imageY", "use", "frame", "ImageX", "ImageY", "totalScale", "imgX", "imgY", "imgW", "imgH", "minX", "maxX", "minY", "maxY", "extraX", "extraY", "themeColorHSL", "develops", "outImage", "ratioX", "ratioY", "Left", "Right", "Top", "Bottom", "Files", "MimeType", "index", "size", "maxSize", "width", "height", "Preview", "previewCtx", "dataUrl", "blob", "Ratio", "file", "Comps", "val_file", "options", "finishedCallback", "abortCallback", "val_componentID", "DefaultOptions", "val_scale", "set_scale", "val_rotate", "set_rotate", "val_grayScale", "set_grayScale", "val_tone", "set_tone", "target", "__Cropper", "UserEffectStart", "EventEnd", "type", "DragEffect", "bitScale", "nextScale", "_a", "Instance", "ToneList", "next", "value", "Cropper", "Image", "sheetID", "files"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Effect/Fade.tsx"],
4
- "sourcesContent": ["import {\n $$,\n Config\n} from '@utils'\nimport {\n useState,\n useEffect\n} from 'react'\n\nimport Box from '@atoms/Box'\n\nnamespace FadeIn {\n export type Input = Box.Input & {\n animationTime?: number\n animationDelay?: number\n }\n}\n\nconst FadeIn: React.FC<FadeIn.Input> = ( params ) => {\n let {\n animationDelay = 100,\n animationTime = 300,\n componentID = $$.uuid.gen(),\n ...others\n } = params\n let [ val_componentID ] = useState( componentID )\n\n useEffect( () => {\n setTimeout( () => {\n let Element = $$( Config.get().appRoot ).find( '[data-component-id=\"' + val_componentID + '\"]' )\n if ( !Element[ 0 ] ) return\n Element.css( {\n transition: animationTime + 'ms'\n } )\n .await( 1 )\n .css( {\n opacity: 1\n } )\n },animationDelay )\n },[] )\n\n return <Box\n { ...others }\n freeCSS={ {\n ...others.freeCSS,\n opacity: 0,\n } }\n componentID={ val_componentID }\n />\n}\n\nnamespace FadeUp {\n export type Input = Box.Input & {\n animationTime?: number\n animationDelay?: number\n }\n}\nconst FadeUp: React.FC<FadeUp.Input> = ( params ) => {\n let {\n animationDelay = 100,\n animationTime = 300,\n componentID = $$.uuid.gen(),\n ...others\n } = params\n let [ val_componentID ] = useState( componentID )\n\n useEffect( () => {\n setTimeout( () => {\n let Element = $$( Config.get().appRoot ).find( '[data-component-id=\"' + val_componentID + '\"]' )\n if ( !Element[ 0 ] ) return\n Element.css( {\n transition: animationTime + 'ms'\n } )\n .await( 1 )\n .css( {\n opacity: 1,\n paddingTop: 0\n } )\n },animationDelay )\n },[] )\n\n return <Box\n paddingTop={ 2 }\n { ...others }\n freeCSS={ {\n ...others.freeCSS,\n opacity: 0,\n } }\n componentID={ val_componentID }\n />\n}\n\nexport {\n FadeIn,\n FadeUp\n}"],
5
- "mappings": "0DAyCS,cAAAA,MAAA,oBAzCT,OACE,MAAAC,EACA,UAAAC,MACK,SACP,OACE,YAAAC,EACA,aAAAC,MACK,QAEP,OAAOC,MAAS,aAShB,MAAMC,EAAmCC,GAAY,CACnD,IAKIC,EAAAD,EAJF,gBAAAE,EAAiB,IACjB,cAAAC,EAAgB,IAChB,YAAAC,EAAcV,EAAG,KAAK,IAAI,CAtB9B,EAwBMO,EADCI,EAAAC,EACDL,EADC,CAHH,iBACA,gBACA,gBAGE,CAAEM,CAAgB,EAAIX,EAAUQ,CAAY,EAEhD,OAAAP,EAAW,IAAM,CACf,WAAY,IAAM,CAChB,IAAIW,EAAUd,EAAIC,EAAO,IAAI,EAAE,OAAQ,EAAE,KAAM,uBAAyBY,EAAkB,IAAK,EACzFC,EAAS,CAAE,GACjBA,EAAQ,IAAK,CACX,WAAYL,EAAgB,IAC9B,CAAE,EACC,MAAO,CAAE,EACT,IAAK,CACJ,QAAS,CACX,CAAE,CACN,EAAED,CAAe,CACnB,EAAE,CAAC,CAAE,EAEET,EAACK,EAAAW,EAAAC,EAAA,GACDL,GADC,CAEN,QAAUI,EAAAC,EAAA,GACLL,EAAO,SADF,CAER,QAAS,CACX,GACA,YAAcE,GAChB,CACF,EAQMI,EAAmCX,GAAY,CACnD,IAKIC,EAAAD,EAJF,gBAAAE,EAAiB,IACjB,cAAAC,EAAgB,IAChB,YAAAC,EAAcV,EAAG,KAAK,IAAI,CA7D9B,EA+DMO,EADCI,EAAAC,EACDL,EADC,CAHH,iBACA,gBACA,gBAGE,CAAEM,CAAgB,EAAIX,EAAUQ,CAAY,EAEhD,OAAAP,EAAW,IAAM,CACf,WAAY,IAAM,CAChB,IAAIW,EAAUd,EAAIC,EAAO,IAAI,EAAE,OAAQ,EAAE,KAAM,uBAAyBY,EAAkB,IAAK,EACzFC,EAAS,CAAE,GACjBA,EAAQ,IAAK,CACX,WAAYL,EAAgB,IAC9B,CAAE,EACC,MAAO,CAAE,EACT,IAAK,CACJ,QAAS,EACT,WAAY,CACd,CAAE,CACN,EAAED,CAAe,CACnB,EAAE,CAAC,CAAE,EAEET,EAACK,EAAAW,EAAAC,EAAA,CACN,WAAa,GACRL,GAFC,CAGN,QAAUI,EAAAC,EAAA,GACLL,EAAO,SADF,CAER,QAAS,CACX,GACA,YAAcE,GAChB,CACF",
6
- "names": ["jsx", "$$", "Config", "useState", "useEffect", "Box", "FadeIn", "params", "_a", "animationDelay", "animationTime", "componentID", "others", "__objRest", "val_componentID", "Element", "__spreadProps", "__spreadValues", "FadeUp"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Effect/Pudding.tsx"],
4
- "sourcesContent": ["import { $$ } from '@utils'\n\nimport { EffectClasses } from '@styles/componentClasses/_'\n\nnew class {\n constructor() {\n this.UserEvent()\n }\n UserEvent() {\n $$( document ).addEvent( {\n eventType: 'click',\n target: '.eff_pudding',\n callback: function ( event ) {\n // Pudding\n $$( event.target )\n .removeClass( EffectClasses( 'PuddingEffect' ) )\n .await( 1 )\n .addClass( EffectClasses( 'PuddingEffect' ) )\n .await( 510 )\n .removeClass( EffectClasses( 'PuddingEffect' ) )\n }\n } )\n }\n}"],
5
- "mappings": "AAAA,OAAS,MAAAA,MAAU,SAEnB,OAAS,iBAAAC,MAAqB,6BAE9B,IAAI,KAAM,CACR,aAAc,CACZ,KAAK,UAAU,CACjB,CACA,WAAY,CACVD,EAAI,QAAS,EAAE,SAAU,CACvB,UAAW,QACX,OAAQ,eACR,SAAU,SAAWE,EAAQ,CAE3BF,EAAIE,EAAM,MAAO,EACd,YAAaD,EAAe,eAAgB,CAAE,EAC9C,MAAO,CAAE,EACT,SAAUA,EAAe,eAAgB,CAAE,EAC3C,MAAO,GAAI,EACX,YAAaA,EAAe,eAAgB,CAAE,CACnD,CACF,CAAE,CACJ,CACF",
6
- "names": ["$$", "EffectClasses", "event"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Effect/Ripple.tsx"],
4
- "sourcesContent": ["import {\n $$,\n Config\n} from '@utils'\n\ntype Info = {\n RippleElement: $$.Chains\n startedAt: number\n size: number\n}\n\nimport { EffectClasses } from '@styles/componentClasses/_'\n\nnew class {\n constructor() {\n this.UserEvent()\n }\n UserEvent() {\n let RippleElementClassName = 'eff_ripple'\n const EffectStart = ( event: Event ) => {\n let startedAt = $$.Time().ms\n let target: HTMLElement = event.target as any\n\n let RippleElement = $$( target )\n if ( !RippleElement[ 0 ] ) return\n let Classname = RippleElement.findClass( /^eff_ripple-/ )[ 0 ]\n if ( !Classname ) return\n let Color = Classname.split( '-' )[ 1 ]\n\n let\n ID = 'RippleWrap-' + $$.uuid.gen(),\n {\n left,\n top,\n height,\n width\n } = RippleElement.position(),\n {\n pageXOffset,\n pageYOffset\n } = $$.getScreenSize(),\n {\n x: cursorX,\n y: cursorY\n } = $$.getCursor( event ),\n size = Math.min( width * 1.5,300 ),\n x = Math.max( cursorX - ( left + pageXOffset ),0 ),\n y = Math.max( cursorY - ( top + pageYOffset ),0 )\n\n let effectInfo: Info = {\n RippleElement,\n startedAt,\n size\n }\n\n $$( document ).addEvent( {\n eventID: 'RippleMouseUp',\n eventType: 'mouseup',\n callback: () => {\n EffectEnd( effectInfo )\n }\n } ).addEvent( {\n eventID: 'RippleTouchEnd',\n eventType: 'touchend',\n callback: () => {\n setTimeout( () => {\n EffectEnd( effectInfo )\n },20 )\n }\n } )\n\n $$( RippleElement )\n .addClass( [\n EffectClasses( 'RippleElement' ),\n EffectClasses( 'Color_' + Color )\n ] )\n .append( `<div class=\"${ EffectClasses( 'RippleWrap' ) }\" id=\"${ ID }\">\n <div class=\"${ EffectClasses( 'Wave' ) }\" />\n</div>` )\n .addEvent( {\n eventID: 'RippleMouseOut',\n eventType: 'mouseout',\n callback: ( event ) => {\n EffectEnd( effectInfo )\n }\n } )\n .find( '#' + ID )\n .find( '.' + EffectClasses( 'Wave' ) )\n .css( { left: x,top: y } )\n .await( 10 )\n .css( {\n height: size,\n width: size,\n opacity: '.3',\n transition: '.25s'\n } )\n }\n const EffectEnd = ( effectInfo: Info ) => {\n let {\n RippleElement,\n startedAt,\n size\n } = effectInfo\n\n let processTime = $$.Time().ms - startedAt\n let transition = processTime <= 400 ? '.75s' : '.55s'\n let diameter = size * 2.5\n\n $$( document ).removeEvent( [\n 'RippleMouseUp',\n 'RippleTouchMove',\n 'RippleTouchEnd',\n 'RippleMouseOut'\n ] )\n\n RippleElement\n .removeEvent( [ 'RippleMouseOut' ] )\n .find( '.' + EffectClasses( 'Wave' ) )\n .css( {\n height: diameter,\n width: diameter,\n opacity: '0',\n transition: transition\n } )\n .await( 750 )\n .parent()\n .callback( ( Parent ) => {\n Parent.remove()\n } )\n }\n\n $$( document )\n .addEvent( {\n eventType: 'touchstart',\n target: '.' + RippleElementClassName,\n callback: ( event ) => {\n EffectStart( event )\n }\n } )\n .addEvent( {\n eventType: 'mousedown',\n target: '.' + RippleElementClassName,\n callback: ( event ) => {\n if ( Config.get().isTouchDevice ) return\n EffectStart( event )\n }\n } )\n }\n}"],
5
- "mappings": "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",
6
- "names": ["$$", "Config", "EffectClasses", "RippleElementClassName", "EffectStart", "event", "startedAt", "target", "RippleElement", "Classname", "Color", "ID", "left", "top", "height", "width", "pageXOffset", "pageYOffset", "cursorX", "cursorY", "size", "x", "y", "effectInfo", "EffectEnd", "transition", "diameter", "Parent"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Effect/_.tsx"],
4
- "sourcesContent": ["import { FadeIn,FadeUp } from './Fade'\nimport './Pudding'\nimport './Ripple'\n\nconst Effect = {\n FadeIn,\n FadeUp\n}\n\nexport {\n Effect,\n Effect as default\n}"],
5
- "mappings": "gCAAA,OAAS,UAAAA,EAAO,UAAAC,MAAc,SAC9B,MAAO,YACP,MAAO,WAEP,MAAMC,EAAS,CACb,OAAAF,EACA,OAAAC,CACF",
6
- "names": ["FadeIn", "FadeUp", "Effect"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/Checker.tsx"],
4
- "sourcesContent": ["import {\n TagProperty,\n ReactElement\n} from '@declaration'\n\nimport {\n InputTypes\n} from './_'\n\nimport List from './List'\n\nnamespace Checker {\n export type Input = InputTypes.CoreInput & {\n label: ReactElement\n\n id?: string\n tabIndex?: number\n\n disabled?: boolean\n value?: boolean\n\n\n cellStyles?: TagProperty.Params\n cellClassName?: string\n cellCheckedStyles?: TagProperty.Params\n cellCheckedClassName?: string\n }\n}\n\nconst Checker = ( params: Checker.Input ) => {\n params = { ...params }\n return <List.Plain\n { ...params }\n tone='plain'\n icon\n type='checker'\n iconType='checkbox'\n value={ params.value ? true : null }\n cellStyles={ {\n padding: 0,\n ...params.cellStyles\n } }\n options={ [\n { value: true,label: params.label }\n ] }\n onUpdateValidValue={ ( args ) => {\n let Value = !!args.value[ 0 ]\n if ( params.onUpdateValidValue )\n params.onUpdateValidValue( {\n ...args,\n value: Value\n } )\n } }\n />\n}\n\nexport {\n Checker,\n Checker as default\n}"],
5
- "mappings": "mDA+BS,cAAAA,MAAA,oBAtBT,OAAOC,MAAU,SAoBjB,MAAMC,EAAYC,IAChBA,EAASC,EAAA,GAAKD,GACPH,EAACC,EAAK,MAALI,EAAAD,EAAA,GACDD,GADC,CAEN,KAAK,QACL,KAAI,GACJ,KAAK,UACL,SAAS,WACT,MAAQA,EAAO,MAAQ,GAAO,KAC9B,WAAaC,EAAA,CACX,QAAS,GACND,EAAO,YAEZ,QAAU,CACR,CAAE,MAAO,GAAK,MAAOA,EAAO,KAAM,CACpC,EACA,mBAAuBG,GAAU,CAC/B,IAAIC,EAAQ,CAAC,CAACD,EAAK,MAAO,CAAE,EACvBH,EAAO,oBACVA,EAAO,mBAAoBE,EAAAD,EAAA,GACtBE,GADsB,CAEzB,MAAOC,CACT,EAAE,CACN,GACF",
6
- "names": ["jsx", "List", "Checker", "params", "__spreadValues", "__spreadProps", "args", "Value"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/fn/Input/Chips/Selector.tsx"],
4
- "sourcesContent": ["import {\n TagProperty,\n ReactElement,\n} from '@declaration'\nimport {\n useState,\n useEffect,\n useRef\n} from 'react'\nimport {\n $$,\n Config,\n useStore,\n} from '@utils'\n\nimport Box from '@atoms/Box'\nimport FAI from '@atoms/FAI'\nimport Span from '@atoms/Span'\nimport Column from '@mols/Column'\nimport Row from '@mols/Row'\nimport Button from '@fn/Button'\nimport Sheet from '@fn/Sheet'\nimport Loader from '@fn/Loader/_'\n\nimport {\n Types\n} from './_'\n\nimport Text from '../Text'\nimport Parts from '../Parts'\n\nimport { InputChipsClasses } from '@styles/componentClasses/_'\n\n\nnamespace Selector {\n export type Input = {\n selectorID: string\n bottomContent: ReactElement\n options: Types.ChipsOptions[]\n limit?: number\n selected: Types.ChipsOptions[]\n SelectorCellComponent: Types.SelectorCellComponentInput\n onUpdated( params: {\n values: any[]\n } ): void\n onDynamicSearch?: Types.onDynamicSearch\n }\n export type OpenSelectorInput = {\n parent: $$.Args\n selectorID: string\n options: Types.ChipsOptions[]\n selected: Types.ChipsOptions[]\n bottomContent?: ReactElement\n gravityPoint?: number\n limit?: number\n onDynamicSearch?: {\n ( k: string ): Promise<{\n options: Types.ChipsOptions[]\n }>\n }\n onUpdated( params: {\n values: any[]\n } ): void\n onClosed(): void\n SelectorCellComponent?: Types.SelectorCellComponentInput\n }\n export type Methods = {\n openSelector( params: OpenSelectorInput ): void\n closeSelector( selectorID: string ): void\n updateOptions( selectorID: string,options: Types.ChipsOptions[] ): void\n updateSelected( selectorID: string,selected: Types.ChipsOptions[] ): void\n }\n}\n\nconst Component = ( params: Selector.Input ) => {\n type StatusTypes = 'show' | 'interlude'\n let [ val_status,set_status ] = useState( 'show' as StatusTypes )\n let [ val_keyword,set_keyword ] = useState( '' )\n let [ val_componentID ] = useState( $$.uuid.gen() )\n\n let [ val_options,set_options ] = useState( params.options )\n let [ val_focus,set_focus ] = useState( val_options[ 0 ] || null )\n let [ val_selected,set_selected ] = useState( params.selected )\n let [ val_keyEvent,set_keyEvent ] = useState( 'init' )\n\n useEffect( () => {\n useStore.set( {\n key: params.selectorID,\n value: {\n updateOptions: ( options: Types.ChipsOptions[] ) => {\n set_options( options )\n },\n updateSelected: ( selected: Types.ChipsOptions[] ) => {\n set_selected( selected )\n }\n }\n } )\n },[] )\n const mountedOptions = useRef( false )\n useEffect( () => {\n if ( mountedOptions.current ) {\n Sheet.reposition( params.selectorID )\n } else {\n mountedOptions.current = true\n }\n },[ val_options ] )\n const mountedKeyword = useRef( false )\n useEffect( () => {\n if ( mountedKeyword.current ) {\n set_status( 'interlude' )\n set_focus( val_options[ 0 ] || null )\n\n if ( params.onDynamicSearch ) {\n $$.interval.clear( val_componentID + '-dynamicSearch' )\n $$.interval.standBy(\n val_componentID + '-dynamicSearch',\n 400,\n async () => {\n let {\n options\n } = await params.onDynamicSearch!( val_keyword )\n set_options( options )\n set_status( 'show' )\n }\n )\n } else {\n $$.interval.clear( val_componentID + '-staticSearch' )\n $$.interval.standBy(\n val_componentID + '-staticSearch',\n 400,\n async () => {\n let regExp = new RegExp( val_keyword,'ig' )\n let newSelection: Types.ChipsOptions[] = [];\n [ ...params.options ].forEach( ( o ) => {\n let match = Boolean( !val_keyword || ( String( o.label ) ?? String( o.value ) ).match( regExp ) )\n if ( match ) newSelection.push( o )\n } )\n\n set_options( newSelection )\n set_status( 'show' )\n }\n )\n }\n } else {\n mountedKeyword.current = true\n }\n },[ val_keyword ] )\n const mountedSelected = useRef( false )\n useEffect( () => {\n if ( mountedSelected.current ) {\n params.onUpdated( {\n values: val_selected\n } )\n } else {\n mountedSelected.current = true\n }\n },[ val_selected ] )\n useEffect( () => {\n $$.scope( () => {\n if ( $$.is.nullish( val_focus ) ) return\n if ( val_keyEvent == 'MouseEvent' ) return\n\n let Wrapper = $$( Config.get().appRoot ).find( '#' + val_componentID + '-Selector-Cell-Wrap' )\n if ( !Wrapper[ 0 ] ) return\n\n let focusCell = $$( Config.get().appRoot ).find( '[data-chips-selector-cell=\"' + val_componentID + '-' + JSON.stringify( val_focus?.value || '' ).replace( /\\\"/ig,'' ) + '\"]' )\n if ( !focusCell[ 0 ] ) return\n\n let { top: pTop,height: pHeight } = Wrapper.position()\n let { top: cTop,height: cHeight } = focusCell.position()\n if ( pTop <= cTop && cTop + cHeight <= pTop + pHeight ) return\n\n let scroll = Wrapper[ 0 ].scrollTop + ( cTop - pTop )\n if ( val_keyEvent == 'ArrowDown' ) {\n scroll -= ( pHeight - cHeight ) - 20\n } else if ( val_keyEvent == 'ArrowUp' ) {\n scroll -= 20\n }\n\n Wrapper[ 0 ].scrollTop = scroll\n } )\n },[ val_focus ] )\n\n let List: ReactElement[] = []\n\n if ( val_status == 'interlude' ) {\n List = [ <Row.Center\n padding={ 2 }\n gap={ 0 }\n >\n <Loader.Theme.R\n showInitial\n />\n <Box\n padding={ [ 0,1 ] }\n fontSize='1.mini'\n fontColor='4.thin'\n >\n \u691C\u7D22\u4E2D...\n </Box>\n </Row.Center> ]\n } else {\n List = [\n val_options.map( ( option,index ) => {\n let {\n value,label\n } = option\n\n let safeValue = String( JSON.stringify( value ) )\n\n let findIndex = val_selected.findIndex( ( v ) => JSON.stringify( v.value ) == safeValue )\n\n let isSelected = findIndex != -1\n let isFocused = JSON.stringify( val_focus?.value || '' ) == safeValue\n\n let styles: TagProperty.Params = {}\n if ( isSelected || isFocused ) {\n styles = {\n fontColor: 'theme',\n isSemiBoldFont: true,\n }\n }\n if ( isFocused ) {\n styles = {\n ...styles,\n backgroundColor: 'cloud',\n paddingLeft: '2/3'\n }\n }\n if ( isSelected ) {\n styles = {\n ...styles,\n backgroundColor: 'tcOpFew',\n }\n }\n\n return <Button.Button.Clear.R\n key={ index }\n color='cloud'\n padding={ '1/3' }\n tabIndex={ -1 }\n textAlign='left'\n data-chips-selector-cell={ val_componentID + '-' + safeValue.replace( /\\\"/ig,'' ) }\n isActive={ isSelected || isFocused }\n isActiveStyles={ styles }\n { ...styles }\n onMouseOver={ () => {\n set_keyEvent( 'MouseEvent' )\n set_focus( option )\n } }\n onClick={ () => {\n let newSelected = [ ...val_selected ]\n if ( isSelected ) {\n newSelected.splice( findIndex,1 )\n } else {\n newSelected = [\n ...newSelected,\n option\n ]\n\n if ( params.limit && newSelected.length > params.limit ) {\n newSelected.shift()\n }\n }\n set_selected( newSelected )\n } }\n >\n <params.SelectorCellComponent\n isSelected={ isSelected }\n isFocused={ isFocused }\n value={ value }\n label={ label }\n />\n </Button.Button.Clear.R>\n } )\n ]\n }\n\n return <>\n <Column\n padding={ '2/3' }\n gap={ '2/3' }\n borderBottom\n >\n <Row.Separate>\n <Text.Normal\n value={ val_keyword }\n onUpdateValidValue={ ( { value } ) => {\n set_keyword( value )\n } }\n id={ params.selectorID + '-KeywordInput' }\n padding={ '2/3' }\n placeholder='\u691C\u7D22...'\n leftIcon={ <Parts.LeftIcon\n right={ '2/3' }\n fontSize={ '1.mini' }\n fontColor='3.blur'\n >\n <FAI.Search />\n </Parts.LeftIcon> }\n onKeyDown={ ( event ) => {\n let {\n key,\n metaKey,ctrlKey\n } = event\n let auxKey = metaKey || ctrlKey\n\n if ( [ 'ArrowDown','ArrowUp' ].includes( key ) ) {\n let dir = Number( key == 'ArrowDown' ) * 2 - 1\n if ( auxKey ) {\n let next = val_options[ dir == 1 ? val_options.length - 1 : 0 ]\n set_focus( next )\n } else {\n let nextIndex = val_options.findIndex( ( v ) => JSON.stringify( v.value ) == JSON.stringify( val_focus?.value || '' ) ) + dir\n\n if ( val_options[ nextIndex ] ) {\n set_focus( val_options[ nextIndex ] )\n } else {\n set_focus( val_options[ dir == 1 ? 0 : val_options.length - 1 ] || null )\n }\n }\n } else if ( key == 'Enter' ) {\n let selectedIndex = val_selected.findIndex( ( v ) => JSON.stringify( v.value ) == JSON.stringify( val_focus?.value || '' ) )\n let isSelected = selectedIndex != -1\n let newSelected = [ ...val_selected ]\n if ( isSelected ) {\n newSelected.splice( selectedIndex,1 )\n } else {\n let optionsIndex = val_options.findIndex( ( v ) => JSON.stringify( v.value ) == JSON.stringify( val_focus?.value || '' ) )\n if ( optionsIndex == -1 ) return\n newSelected = [\n ...newSelected,\n val_options[ optionsIndex ],\n ]\n\n if ( params.limit && newSelected.length > params.limit ) {\n newSelected.shift()\n }\n }\n\n set_selected( newSelected )\n }\n set_keyEvent( key )\n } }\n />\n <Button.Button.Border.S\n marginRight={ '1/3' }\n ssSphere={ 2 }\n backgroundColor='cloud'\n borderRadius={ '2.tone.secondary' }\n onClick={ () => {\n Sheet.close( params.selectorID! )\n } }\n >\n <FAI.Times />\n </Button.Button.Border.S>\n </Row.Separate>\n <Row.Separate>\n <Row.Left\n gap={ '1/2' }\n verticalAlign='baseline'\n >\n <Span\n fontColor={ 'theme' }\n >\n { val_options.length }\n </Span>\n <Box\n fontSize='1.mini'\n fontColor='3.blur'\n >\n \u4EF6\u306E\u30D2\u30C3\u30C8\n </Box>\n </Row.Left>\n <Row.Right>\n { params.limit ? <Span\n fontColor={ '3.blur' }\n fontSize='1.mini'\n >\n <Span\n fontSize='3.paragraph'\n fontColor='theme'\n isSemiBoldFont\n >\n { val_selected.length }\n </Span> / { params.limit } \u4EF6\n </Span> : null }\n </Row.Right>\n </Row.Separate>\n </Column>\n <Column\n gap={ '1/4' }\n padding={ '1/2' }\n overflow={ 'auto' }\n freeCSS={ {\n maxHeight: 12 * 26,\n maxWidth: 12 * 26\n } }\n id={ val_componentID + '-Selector-Cell-Wrap' }\n className={ InputChipsClasses( 'SelectorWrapper' ) }\n >\n { List }\n </Column>\n { params.bottomContent }\n </>\n}\n\nconst Selector: Selector.Methods = {\n openSelector: ( params ) => {\n let {\n selectorID,\n options,\n selected,\n limit,\n bottomContent,\n onDynamicSearch,\n SelectorCellComponent,\n onUpdated,\n onClosed,\n parent,\n ...sheetarams\n } = params\n let sheetID = selectorID\n\n SelectorCellComponent = SelectorCellComponent || ( ( params ) => {\n return <Row.Left>\n <FAI.CheckCircle\n // isSolidIcon={ params.isSelected }\n // isRegularIcon={ !params.isSelected }\n fontColor={ params.isSelected ? 'theme' : '6.clear' }\n />\n { params.label }\n </Row.Left>\n } )\n\n Sheet.open( {\n parent,\n sheetID,\n type: 'custom',\n gravityPoint: 22,\n padding: [ 1,0 ],\n hold_state: true,\n close_option: {\n aroundClick: true,\n escapeKeyDown: true\n },\n ...sheetarams,\n content: <Box\n borderRadius={ '2.tone.secondary' }\n backgroundColor={ '1.layer.base' }\n border\n boxShadow={ '1.normal' }\n overflow='hidden'\n >\n <Component\n selectorID={ selectorID }\n options={ options }\n limit={ limit }\n selected={ selected }\n onUpdated={ onUpdated }\n SelectorCellComponent={ SelectorCellComponent }\n bottomContent={ bottomContent }\n onDynamicSearch={ onDynamicSearch }\n />\n </Box>,\n openAfter: () => {\n $$( Config.get().appRoot )\n .find( '#' + params.selectorID + '-KeywordInput' )\n .focus()\n },\n closeAfter: () => {\n onClosed()\n }\n } )\n },\n closeSelector: ( selectorID ) => {\n Sheet.close( selectorID )\n },\n updateOptions: ( selectorID,options ) => {\n let C = useStore.get( selectorID )\n if ( C && C.updateOptions ) C.updateOptions( options )\n },\n updateSelected: ( selectorID,selected ) => {\n let C = useStore.get( selectorID )\n if ( C && C.updateSelected ) C.updateSelected( selected )\n }\n}\n\nexport {\n Selector,\n Selector as default\n}"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "useState", "useEffect", "useRef", "$$", "Config", "useStore", "Box", "FAI", "Span", "Column", "Row", "Button", "Sheet", "Loader", "Text", "Parts", "InputChipsClasses", "Component", "params", "val_status", "set_status", "val_keyword", "set_keyword", "val_componentID", "val_options", "set_options", "val_focus", "set_focus", "val_selected", "set_selected", "val_keyEvent", "set_keyEvent", "options", "selected", "mountedOptions", "mountedKeyword", "__async", "regExp", "newSelection", "o", "_a", "mountedSelected", "Wrapper", "focusCell", "pTop", "pHeight", "cTop", "cHeight", "scroll", "List", "option", "index", "value", "label", "safeValue", "findIndex", "v", "isSelected", "isFocused", "styles", "__spreadProps", "__spreadValues", "newSelected", "event", "key", "metaKey", "ctrlKey", "auxKey", "dir", "next", "nextIndex", "selectedIndex", "optionsIndex", "Selector", "selectorID", "limit", "bottomContent", "onDynamicSearch", "SelectorCellComponent", "onUpdated", "onClosed", "parent", "sheetarams", "__objRest", "sheetID", "C"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/fn/Input/Chips/_.tsx"],
4
- "sourcesContent": ["import {\n TagProperty,\n ReactElement,\n} from '@declaration'\nimport {\n useState,\n useEffect,\n useRef\n} from 'react'\nimport {\n $$,\n Config\n} from '@utils'\n\nimport FAI from '@atoms/FAI'\nimport Row from '@mols/Row'\nimport Button from '@fn/Button'\nimport Sheet from '@fn/Sheet'\n\nimport {\n Wrapper,\n BoxWrapper,\n CommonEffects,\n DefaultStyles\n} from '../core'\n\nimport { InputTypes } from '../_'\n\nimport Hidden from '../Hidden'\n\nexport namespace Types {\n export type ChipsOptions = {\n value: any\n label: string\n }\n export type SelectedCellComponentInput = React.FC<{\n removeCallback: Function\n defaultRemoveButton: ReactElement\n openCallback(): void\n value: any\n label: string\n }>\n export type SelectorCellComponentInput = React.FC<{\n isSelected: boolean\n isFocused: boolean\n value: any\n label: string\n }>\n export type onDynamicSearch = {\n ( k: string ): Promise<{\n options: ChipsOptions[]\n }>\n }\n}\n\n\nimport Selector from './Selector'\n\nnamespace Chips {\n export type Methods = React.FC<Input> & {\n fn: Selector.Methods\n }\n export type Input = InputTypes.CoreInput & {\n tabIndex?: number\n\n id?: string\n\n disabled?: boolean\n\n value?: Options[]\n limit?: number\n\n selectorGravityPoint?: number\n\n defaultOptions?: Options[]\n onDynamicSearch?: Types.onDynamicSearch\n\n leftIndicator?: ReactElement | false\n rightIndicator?: ReactElement | false\n rightIcon?: ReactElement | false\n leftIcon?: ReactElement | false\n\n SelectedCellComponent?: SelectedCellComponentInput\n SelectorCellComponent?: SelectorCellComponentInput\n AddButtonComponent?: AddButtonComponentInput\n }\n export type Options = Types.ChipsOptions\n export type onDynamicSearch = Types.onDynamicSearch\n export type AddButtonComponentInput = React.FC<{\n selected: Options[]\n openCallback(): void\n }>\n export type SelectedCellComponentInput = Types.SelectedCellComponentInput\n export type SelectorCellComponentInput = Types.SelectorCellComponentInput\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let {\n value,\n params\n } = props\n let {\n required\n } = params as Chips.Input\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required && !value.length ) {\n notice.push( { type: 'invalid',label: '\u4E00\u3064\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044' } )\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\n\nconst Core: React.FC<Chips.Input> = ( params ) => {\n let {\n required,\n form,\n name,\n\n checkValidationAtFirst,\n onValidate,\n onUpdateValue,onUpdateValidValue,\n value = [],\n limit,\n\n leftIndicator,rightIndicator,leftIcon,rightIcon,\n\n SelectedCellComponent,\n AddButtonComponent,\n\n componentID,\n defaultOptions,\n enableFormSubmit,\n\n ...others\n } = params\n AddButtonComponent = AddButtonComponent!\n\n let [ val_selectorID ] = useState( $$.uuid.gen() )\n let [ val_status,set_status ] = useState( {\n componentID: params.componentID || '',\n dataValue: value.map( ( val: any ) => val ),\n eventID: $$.uuid.gen(),\n eventType: 'init'\n } as InputTypes.Status.Plain )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n let [ val_selected,set_selected ] = useState( [ ...value ] )\n\n CommonEffects( {\n params,\n val_status,set_status,\n val_validate,set_validate,\n DefaultValidation,\n onUpdateValue,onUpdateValidValue,\n ExtraOverrideParams: {\n formatValue: val_selected,\n dataValue: val_selected.map( ( val: any ) => val )\n },\n ExtraStoreParams: {\n searchTimer: null\n }\n } )\n\n const UpdateValue = ( values: Chips.Options[] ) => {\n set_selected( values )\n set_status( {\n ...val_status,\n dataValue: values.map( ( val: any ) => val ),\n eventID: $$.uuid.gen(),\n eventType: 'update'\n } as InputTypes.Status.Plain )\n }\n const OpenSelector = () => {\n Selector.openSelector( {\n parent: $$( Config.get().appRoot ).find( `[data-chips-input-wrapper=\"${ val_selectorID }\"]` ),\n gravityPoint: params.selectorGravityPoint,\n SelectorCellComponent: params.SelectorCellComponent,\n selectorID: val_selectorID,\n options: params.defaultOptions || [],\n selected: val_selected,\n limit: params.limit,\n onDynamicSearch: params.onDynamicSearch,\n onUpdated: ( args ) => {\n UpdateValue( args.values )\n },\n onClosed: () => {\n $$( Config.get().appRoot )\n .find( `[data-chips-input-wrapper=\"${ val_selectorID }\"]` )\n .focus()\n }\n } )\n }\n\n let isFully = limit && limit <= val_selected.length\n\n const mounted = useRef( false )\n useEffect( () => {\n if ( mounted.current ) {\n if ( isFully ) {\n Sheet.close( val_selectorID )\n\n $$( Config.get().appRoot )\n .find( `[data-chips-input-wrapper=\"${ val_selectorID }\"]` )\n .focus()\n }\n } else {\n mounted.current = true\n }\n },[ val_selected ] )\n\n let Selected = val_selected.map( ( s ) => {\n let { value,label } = s\n SelectedCellComponent = SelectedCellComponent!\n\n const removeCallback = () => {\n let findIndex = val_selected.findIndex( ( v ) => v.value == value )\n if ( findIndex == -1 ) return\n let newSelected = [ ...val_selected ]\n newSelected.splice( findIndex,1 )\n UpdateValue( newSelected )\n if ( !newSelected.length ) {\n setTimeout( () => {\n $$( Config.get().appRoot )\n .find( `[data-chips-input-wrapper=\"${ val_selectorID }\"]` )\n .focus()\n },200 )\n }\n }\n return <SelectedCellComponent\n key={ JSON.stringify( value ) }\n value={ value }\n label={ label }\n removeCallback={ removeCallback }\n defaultRemoveButton={ <Button.Button.Sub.S\n padding={ '2/3' }\n flexSizing={ 'none' }\n color='cloud'\n backgroundColor='cloud'\n isRounded\n onClick={ () => {\n removeCallback()\n } }\n >\n <FAI.Times />\n </Button.Button.Sub.S> }\n openCallback={ () => {\n OpenSelector()\n } }\n />\n } )\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <Hidden\n data-value={ JSON.stringify( val_status.dataValue.map( ( v: any ) => v.value ) ) }\n name={ name }\n form={ form }\n data-input-type={ 'chips-' + [ 'single','multi' ][ Number( params.limit != 1 ) ] }\n data-validation={ val_validate.ok }\n componentID={ val_status.componentID }\n data-focusor={ val_selectorID }\n />\n <button\n data-chips-input-wrapper={ val_selectorID }\n onKeyDown={ ( e ) => {\n let { key,ctrlKey,metaKey,keyCode } = e\n let auxKey = ctrlKey || metaKey\n let isString = ( keyCode >= 48 && keyCode <= 57 ) || ( keyCode >= 65 && keyCode <= 90 ) || ( keyCode >= 96 && keyCode <= 105 )\n\n if ( isString ) {\n if ( isFully ) return\n OpenSelector()\n } else if ( key == 'Tab' ) {\n\n } else if ( key == 'Backspace' ) {\n if ( !val_selected.length ) return\n if ( auxKey ) {\n UpdateValue( [] )\n } else {\n let newSelected = [ ...val_selected ]\n newSelected.pop()\n UpdateValue( newSelected )\n }\n }\n } }\n onClick={ () => {\n if ( isFully ) return\n // if ( val_selected.length ) return\n OpenSelector()\n } }\n { ...others }\n >\n { !isFully ? <AddButtonComponent\n selected={ val_selected }\n openCallback={ OpenSelector }\n /> : null }\n { Selected }\n </button>\n </BoxWrapper>\n}\n\nconst ChipsInput: React.FC<Chips.Input> = ( params ) => {\n let DefaultValues = [ ...( params.value || [] ) ]\n let Values = DefaultValues.splice( 0,params.limit || 65535 )\n\n return <Core\n SelectedCellComponent={ ( params ) => {\n let {\n value,\n label,\n removeCallback\n } = params\n\n return <Row.Left\n ssCardBox\n padding={ '1/2' }\n gap={ '1/2' }\n isRounded\n textAlign='left'\n >\n { label }\n { params.defaultRemoveButton }\n </Row.Left>\n } }\n AddButtonComponent={ ( props ) => {\n if ( params.limit && params.limit <= props.selected.length ) return null\n\n return <Button.Button.Sub.R\n color='cloud'\n padding={ '1/2' }\n onClick={ () => {\n props.openCallback()\n } }\n >\n <FAI.Plus />\n \u8FFD\u52A0\u3059\u308B\n </Button.Button.Sub.R>\n } }\n { ...params }\n value={ Values }\n />\n}\n\nconst Chips: Chips.Methods = ( rawParams: Chips.Input ) => {\n rawParams = { ...rawParams }\n rawParams = {\n gap: 1,\n display: 'flex',\n horizontalAlign: 'left',\n verticalAlign: 'center',\n flexWrap: true,\n ...rawParams\n }\n let params = DefaultStyles.Boxish( rawParams ) as Chips.Input\n\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ ChipsInput }\n params={ params }\n />\n}\nChips.fn = Selector\nexport {\n Chips,\n Chips as default\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "useState", "useEffect", "useRef", "$$", "Config", "FAI", "Row", "Button", "Sheet", "Wrapper", "BoxWrapper", "CommonEffects", "DefaultStyles", "Hidden", "Selector", "DefaultValidation", "props", "value", "params", "required", "notice", "type", "Core", "_a", "form", "name", "checkValidationAtFirst", "onValidate", "onUpdateValue", "onUpdateValidValue", "limit", "leftIndicator", "rightIndicator", "leftIcon", "rightIcon", "SelectedCellComponent", "AddButtonComponent", "componentID", "defaultOptions", "enableFormSubmit", "others", "__objRest", "val_selectorID", "val_status", "set_status", "val", "val_validate", "set_validate", "val_selected", "set_selected", "UpdateValue", "values", "__spreadProps", "__spreadValues", "OpenSelector", "args", "isFully", "mounted", "Selected", "s", "label", "removeCallback", "findIndex", "v", "newSelected", "e", "key", "ctrlKey", "metaKey", "keyCode", "auxKey", "ChipsInput", "Values", "Chips", "rawParams"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/Contenteditable.tsx"],
4
- "sourcesContent": ["import {\n ReactElement\n} from '@declaration'\nimport {\n useState\n} from 'react'\n\nimport {\n $$\n} from '@utils'\n\nimport {\n Wrapper,\n BoxWrapper,\n SubmitForm,\n CommonEffects,\n DefaultStyles,\n} from './core'\n\nimport { InputTypes } from './_'\n\nnamespace Contenteditable {\n export type Input = InputTypes.CoreInput & React.TextareaHTMLAttributes<HTMLDivElement> & {\n tone?: InputTypes.BoxTone\n\n tabIndex?: number\n id?: string\n\n children?: string\n\n leftIndicator?: ReactElement | false\n rightIndicator?: ReactElement | false\n leftIcon?: ReactElement | false\n rightIcon?: ReactElement | false\n }\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let { value,params } = props\n let { required } = params as Contenteditable.Input\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required && !value ) {\n notice.push( { type: 'invalid',label: '\u5FC5\u9808\u9805\u76EE\u3067\u3059' } )\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\n\nconst ContenteditableInput: React.FC<Contenteditable.Input> = ( params ) => {\n let {\n componentID,\n tone,\n required,\n form,\n\n enableFormSubmit,\n\n checkValidationAtFirst,\n onInput,onKeyDown,\n onValidate,\n onUpdateValue,\n onUpdateValidValue,\n children = '',\n leftIndicator,rightIndicator,leftIcon,rightIcon,\n\n ...others\n } = params\n\n let Default_Status: InputTypes.Status.Plain = {\n componentID: componentID!,\n dataValue: children,\n eventType: 'init',\n eventID: $$.uuid.gen()\n }\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n CommonEffects( {\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n onUpdateValue,\n onUpdateValidValue,\n DefaultValidation\n } )\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <div\n contentEditable\n data-form={ form }\n data-name={ params.name }\n data-input-type={ 'contenteditable' }\n data-validation={ val_validate.ok }\n data-value={ val_status.dataValue }\n data-component-id={ val_status.componentID }\n onKeyDown={ ( event ) => {\n !!onKeyDown && onKeyDown( event )\n !!enableFormSubmit && SubmitForm( event )\n } }\n onInput={ ( event ) => {\n let contentEditor = event.currentTarget as HTMLDivElement\n let {\n innerHTML,\n innerText\n } = contentEditor\n\n if ( val_validate.ok ) set_validate( { ok: false,notice: [] } )\n set_status( {\n ...val_status,\n dataValue: innerText,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n\n onInput && onInput( event )\n } }\n { ...others }\n >\n { children }\n </div>\n </BoxWrapper>\n}\n\nconst Contenteditable: React.FC<Contenteditable.Input> = ( rawParams ) => {\n rawParams = { ...rawParams }\n if ( rawParams.rightIcon ) rawParams.paddingRight = rawParams.paddingRight ?? 3\n if ( rawParams.leftIcon ) rawParams.paddingLeft = rawParams.paddingLeft ?? 3\n rawParams = {\n ...rawParams,\n freeCSS: {\n whiteSpace: 'pre-wrap',\n ...rawParams.freeCSS\n },\n }\n\n let params = DefaultStyles.Boxish( rawParams )\n params.rows = params.rows || 5\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ ContenteditableInput }\n params={ params }\n />\n}\n\nexport {\n Contenteditable,\n Contenteditable as default\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "useState", "$$", "Wrapper", "BoxWrapper", "SubmitForm", "CommonEffects", "DefaultStyles", "DefaultValidation", "props", "value", "params", "required", "notice", "type", "ContenteditableInput", "_a", "componentID", "tone", "form", "enableFormSubmit", "checkValidationAtFirst", "onInput", "onKeyDown", "onValidate", "onUpdateValue", "onUpdateValidValue", "children", "leftIndicator", "rightIndicator", "leftIcon", "rightIcon", "others", "__objRest", "Default_Status", "val_status", "set_status", "val_validate", "set_validate", "__spreadProps", "__spreadValues", "event", "contentEditor", "innerHTML", "innerText", "Contenteditable", "rawParams", "_b"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/DigitCharacters.tsx"],
4
- "sourcesContent": ["import {\n TagProperty\n} from '@declaration'\nimport {\n useState,\n useEffect\n} from 'react'\nimport {\n $$,\n Config\n} from '@utils'\n\nimport {\n Wrapper,\n BoxWrapper,\n SubmitForm,\n CommonEffects,\n DefaultStyles\n} from './core'\n\nimport { InputTypes } from './_'\n\n\nimport Flex from '@atoms/Flex'\nimport Hidden from './Hidden'\n\nimport { InputClasses } from '@styles/componentClasses/_'\n\nnamespace DigitCharacters {\n export type Input = InputTypes.CoreInput & React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>,HTMLInputElement> & {\n tone?: InputTypes.BoxTone\n\n combineInput?: boolean\n digits: number\n numericOnly?: boolean\n\n tabIndex?: number\n id?: string\n\n\n value?: string | number\n\n listStyles?: TagProperty.Params\n }\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let { value,params } = props\n let {\n required,\n numericOnly = false,\n digits\n } = params as DigitCharacters.Input\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required && !value ) {\n notice.push( { type: 'invalid',label: '\u5FC5\u9808\u9805\u76EE\u3067\u3059' } )\n }\n if ( value ) {\n if ( numericOnly && value.match( /\\D/ ) ) {\n notice.push( { type: 'invalid',label: '\u6570\u5B57\u306E\u307F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044' } )\n }\n if ( value.length != digits ) {\n notice.push( { type: 'warn',label: '\u6700\u5F8C\u307E\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044' } )\n }\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' || type == 'warn' ).length,\n notice: notice\n }\n}\n\n\nconst dataToFormat = ( digits: number,value: any = '' ) => {\n let dataValue = String( value )\n let formatValue: any = []\n for ( let index = 0; index < digits; index++ ) {\n formatValue[ index ] = dataValue[ index ] || ''\n }\n return {\n formatValue,\n dataValue\n }\n}\nconst formatToData = ( value: any = '' ) => {\n let formatValue = value\n let dataValue = formatValue.join( '' )\n return {\n formatValue,\n dataValue\n }\n}\n\n\nconst DigitCharactersInput: React.FC<DigitCharacters.Input> = ( params ) => {\n let {\n tone,\n required,\n form,\n name,\n\n className = '',\n digits,\n numericOnly = false,\n enableFormSubmit,\n\n checkValidationAtFirst,\n onChange,onKeyDown,\n onValidate,\n onUpdateValue,\n onUpdateValidValue,\n value = '',\n\n override,\n\n componentID,\n listStyles,\n ...others\n } = params\n\n if ( numericOnly ) {\n params.inputMode = params.inputMode || 'numeric'\n }\n\n let Default_Status: InputTypes.Status.DigitCharacters = {\n componentID: params.componentID || '',\n ...dataToFormat( digits,value ),\n eventType: 'init',\n eventID: $$.uuid.gen()\n }\n\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n CommonEffects( {\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n onUpdateValue,\n onUpdateValidValue,\n DefaultValidation\n } )\n\n let Digits = []\n for ( let index = 0; index < digits; index++ ) {\n let Character = val_status.formatValue[ index ]\n\n let Styles: React.CSSProperties = {}\n\n let ClassName = className\n\n if ( params.combineInput ) {\n ClassName = [\n className,\n InputClasses( 'DigitCharacterCell' ),\n InputClasses( 'Combined' )\n ].join( ' ' )\n }\n\n Digits.push( <input\n key={ index }\n type={ 'text' }\n inputMode={ params.inputMode || 'text' }\n value={ Character }\n data-form-name={ form }\n id={ 'Digit-' + index + '-' + val_status.componentID }\n className={ ClassName }\n style={ {\n ...params.style,\n ...Styles\n } }\n onKeyDown={ ( event ) => {\n let {\n key,\n code\n } = event\n\n if ( key == 'Tab' ) return\n event.preventDefault()\n let nextFocusIndex = null\n\n if ( key == 'Backspace' ) {\n let newFormatValue = val_status.formatValue\n newFormatValue[ index ] = ''\n\n set_status( {\n ...val_status,\n ...formatToData( newFormatValue ),\n eventType: 'update',\n eventID: $$.uuid.gen()\n } )\n nextFocusIndex = index - 1\n } else if ( [ 'ArrowLeft','ArrowRight' ].includes( key ) ) {\n let dir = Number( key == 'ArrowRight' ) * 2 - 1\n nextFocusIndex = index + dir\n } else {\n if ( enableFormSubmit ) SubmitForm( event );\n\n ( () => {\n let regExp = code.match( /^(Key(.)|Digit(\\d)|Numpad(\\d))/ )\n if ( !regExp ) return\n\n let newCharacter: string = regExp[ 2 ] || regExp[ 3 ] || regExp[ 4 ]\n if ( numericOnly ) {\n if ( !newCharacter.match( /\\d/ ) ) return\n }\n if ( !newCharacter ) return\n\n let newFormatValue = val_status.formatValue\n newFormatValue[ index ] = newCharacter\n\n set_status( {\n ...val_status,\n ...formatToData( newFormatValue ),\n eventType: 'update',\n eventID: $$.uuid.gen()\n } )\n nextFocusIndex = index + 1\n } )()\n }\n\n if ( $$.is.exist( nextFocusIndex ) ) {\n $$( Config.get().appRoot )\n .find( '#Digit-' + nextFocusIndex + '-' + val_status.componentID )\n .focus()\n }\n } }\n onChange={ () => { } }\n /> )\n }\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <Hidden\n name={ name }\n data-input-type={ 'digitCharacters' }\n data-form={ form }\n data-validation={ val_validate.ok }\n componentID={ val_status.componentID }\n data-value={ val_status.dataValue }\n { ...others }\n />\n <Flex\n gap={ '1/2' }\n flexChilds='even'\n flexWrap={ false }\n flexSizing='auto'\n { ...listStyles }\n >\n { Digits }\n </Flex>\n </BoxWrapper>\n}\n\nconst DigitCharacters: React.FC<DigitCharacters.Input> = ( rawParams ) => {\n rawParams = { ...rawParams }\n rawParams = {\n textAlign: 'center',\n width: 0,\n ...rawParams\n }\n if ( rawParams.combineInput ) {\n rawParams = {\n textAlign: 'center',\n width: 0,\n ...rawParams,\n freeCSS: {\n minWidth: 12 * 2,\n marginRight: -1,\n ...rawParams.freeCSS\n },\n listStyles: {\n borderRadius: '2.tone.secondary',\n border: 'unset',\n gap: 0,\n ...rawParams.listStyles\n },\n }\n }\n let params = DefaultStyles.Boxish( rawParams ) as DigitCharacters.Input\n\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ DigitCharactersInput }\n params={ params }\n />\n}\n\nexport {\n DigitCharacters,\n DigitCharacters as default\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "useState", "$$", "Config", "Wrapper", "BoxWrapper", "SubmitForm", "CommonEffects", "DefaultStyles", "Flex", "Hidden", "InputClasses", "DefaultValidation", "props", "value", "params", "required", "numericOnly", "digits", "notice", "type", "dataToFormat", "dataValue", "formatValue", "index", "formatToData", "DigitCharactersInput", "_a", "tone", "form", "name", "className", "enableFormSubmit", "checkValidationAtFirst", "onChange", "onKeyDown", "onValidate", "onUpdateValue", "onUpdateValidValue", "override", "componentID", "listStyles", "others", "__objRest", "Default_Status", "__spreadProps", "__spreadValues", "val_status", "set_status", "val_validate", "set_validate", "Digits", "Character", "Styles", "ClassName", "event", "key", "code", "nextFocusIndex", "newFormatValue", "dir", "regExp", "newCharacter", "DigitCharacters", "rawParams"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/Filer.tsx"],
4
- "sourcesContent": ["import {\n TagProperty\n} from '@declaration'\n\nimport {\n useState,\n useEffect\n} from 'react'\n\nimport {\n $$,\n useStore,\n Config,\n GenerateClassName\n} from '@utils'\n\nimport Box from '@atoms/Box'\nimport FAI from '@atoms/FAI'\nimport Flex from '@atoms/Flex'\nimport Column from '@mols/Column'\nimport Row from '@mols/Row'\nimport Button from '@fn/Button'\nimport Snackbar from '@fn/Snackbar'\n\nimport {\n Wrapper,\n BoxWrapper,\n CommonEffects,\n DefaultStyles\n} from './core'\n\nimport { InputTypes } from './_'\n\nimport Text from './Text'\nimport { InputFilerClasses } from '@styles/componentClasses/_'\n\nimport { faCloudArrowUp } from '@fortawesome/free-solid-svg-icons/faCloudArrowUp'\n\nnamespace Filer {\n export type Methods = React.FC<Input> & FNs\n export type Input = InputTypes.CoreInput & React.DOMAttributes<HTMLInputElement> & {\n tone?: InputTypes.BoxTone\n tabIndex?: number\n\n id?: string\n disabled?: boolean\n\n value?: CustomFile[]\n limit?: number\n\n fileNameEdit?: boolean\n systemOnly?: boolean\n accept?: Accept\n\n cellStyles?: TagProperty.Params\n cellClassName?: string\n }\n export type CustomFile = File & {\n id: string\n }\n export type Accept = 'image' | string\n export type ListInput = {\n files: File[]\n params: Filer.Input\n val_status: InputTypes.Status.Plain\n set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Plain>>\n }\n export type CellInput = {\n index: number\n file: File\n className?: string\n val_status: InputTypes.Status.Plain\n set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Plain>>\n fileNameEdit?: boolean\n }\n export type FNs = {\n fn: {\n openDialog( params: {\n accept?: Accept\n multiple?: boolean\n } ): Promise<File[]>\n }\n }\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let { value,params } = props\n let { required } = params as Filer.Input\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required && !value.length ) {\n notice.push( { type: 'invalid',label: '\u5FC5\u9808\u9805\u76EE\u3067\u3059' } )\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\n\n\nconst Comps = {\n List: ( props: Filer.ListInput ) => {\n let {\n files,\n params,\n val_status,\n set_status\n } = props\n let Left = ( params.limit || 1 ) - val_status.dataValue.length\n\n let Files = files.map( ( file,index ) => {\n return <Comps.Cell\n key={ file.name }\n index={ index }\n file={ file }\n className={ params.cellClassName }\n val_status={ val_status }\n set_status={ set_status }\n fileNameEdit={ params.fileNameEdit }\n />\n } )\n\n if ( Left > 0 ) {\n Files.push( <label\n key={ 'AddButton' }\n className={ [ params.cellClassName,InputFilerClasses( 'AddButton' ) ].join( ' ' ) }\n data-component-id={ val_status.componentID }\n htmlFor={ params.id }\n tabIndex={ params.tabIndex }\n onKeyDown={ ( event ) => {\n let { key } = event\n if ( params.tabIndex != -1 ) {\n if ( [ ' ','Enter' ].includes( key ) ) {\n $$( Config.get().appRoot )\n .find( '#' + params.id )\n .click()\n }\n }\n } }\n >\n <Row.Center\n padding={ [ '1/3',0 ] }\n >\n <Box\n isRounded\n className={ InputFilerClasses( 'AddIcon' ) }\n >\n <FAI\n icon={ faCloudArrowUp }\n className={ InputFilerClasses( 'Icon' ) }\n fontColor={ 'theme' }\n fontSize='4.thirdTitle'\n backgroundColor={ 'tcOpLow' }\n ssSphere={ 4 }\n />\n </Box>\n <Box>\n <Box\n children={ '\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E' + `\uFF08${ Left }\uFF09` }\n fontColor={ 'theme' }\n fontSize={ '2.normal' }\n isSemiBoldFont\n />\n <Box\n isSemiBoldFont\n fontColor={ '4.thin' }\n fontSize={ '0.xs' }\n >\n \u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7\n </Box>\n </Box>\n </Row.Center>\n </label> )\n }\n\n return <Column\n flexSizing={ 'auto' }\n className={ params.className }\n children={ Files }\n />\n },\n Cell: ( props: Filer.CellInput ) => {\n let {\n index,\n file,\n className,\n val_status,\n set_status,\n fileNameEdit = true\n } = props\n let {\n name: fileName,\n size,\n type,\n } = file\n\n let [ val_edit,set_edit ] = useState( false )\n let FileID = $$.uuid.gen()\n let Size = size.rank()\n let [ name,extension ] = fileName\n .replace( /\\s/,'' )\n .replace( /(.*)\\.(.*)$/,'$1 $2' ).split( ' ' )\n\n let FileName = '\u30D5\u30A1\u30A4\u30EB'\n if ( type.match( /image/ ) ) {\n FileName = type.replace( /image\\//,'' )\n } else if ( type.match( /pdf/ ) ) {\n FileName = 'PDF'\n } else if ( type.match( /csv/ ) ) {\n FileName = 'CSV'\n } else if ( type.match( /spreadsheet/ ) ) {\n FileName = 'SpreadSheet'\n } else if ( type.match( /presentation/ ) ) {\n FileName = 'PowerPoint'\n } else if ( type.match( /word/ ) ) {\n FileName = 'Word'\n } else if ( type.match( /zip/ ) ) {\n FileName = 'Zip'\n } else if ( type.match( /powerpoint/ ) ) {\n FileName = 'PowerPoint'\n } else if ( type.match( /html/ ) ) {\n FileName = 'HTML'\n } else if ( type.match( /js/ ) ) {\n FileName = 'JavaScript'\n } else if ( type.match( /css/ ) ) {\n FileName = 'CSS'\n } else if ( type.match( /text\\/plain/ ) ) {\n FileName = '\u30C6\u30AD\u30B9\u30C8'\n }\n\n useEffect( () => {\n if ( val_edit ) {\n setTimeout( () => {\n $$( Config.get().appRoot )\n .find( '#' + FileID )\n .focus()\n },100 )\n }\n },[ val_edit ] )\n\n return <Flex\n verticalAlign='center'\n flexWrap={ false }\n gap={ 1 }\n className={ className }\n >\n <FAI.File\n fontSize={ '4.thirdTitle' }\n fontColor={ '4.thin' }\n />\n <Box flexSizing={ 0 }>\n <Box>\n <Flex\n verticalAlign='center'\n gap={ '2/3' }\n flexWrap={ false }\n className={ InputFilerClasses( 'FileName' ) }\n children={ !val_edit ? <>\n { fileName }\n { fileNameEdit ?\n <Button.Button.Clear.R\n ssSphere={ 2.5 }\n flexSizing={ 'none' }\n color='cloud'\n fontColor='4.thin'\n padding={ '1/3' }\n ssEffectsOnActive={ 'expand' }\n onClick={ () => {\n set_edit( true )\n } }\n >\n <FAI.Pen />\n </Button.Button.Clear.R> : null\n }\n </> : <>\n <Column\n gap={ '1/2' }\n flexSizing={ 0 }\n >\n <Flex\n gap={ '2/3' }\n verticalAlign='center'\n >\n <Text.Normal\n tone='border'\n wrapStyles={ {\n flexSizing: 'auto'\n } }\n restrict='fileName'\n name='name'\n required\n id={ FileID }\n form={ 'form-' + FileID }\n enableFormSubmit\n value={ name }\n onKeyDown={ ( event ) => {\n let { key } = event\n if ( key == 'Escape' ) set_edit( false )\n } }\n />\n <Box>\n . { extension }\n </Box>\n </Flex>\n <Flex\n gap={ '2/3' }\n horizontalAlign='right'\n flexWrap={ false }\n >\n <Button.Button.Sub.R\n padding={ [ '2/3',1 ] }\n children={ '\u9589\u3058\u308B' }\n onClick={ () => {\n set_edit( false )\n } }\n />\n <Button.Button.Prime.R\n padding={ [ '2/3',1 ] }\n submitOption={ {\n formName: 'form-' + FileID,\n callback: async ( form ) => {\n let { name } = form\n let nextFiles = [ ...val_status.dataValue ]\n let prevFile = nextFiles[ index ]\n let id = prevFile.id\n if ( !prevFile ) return\n\n let { target } = await prevFile.read()\n if ( !target ) return\n let dataUrl = String( target.result )\n\n let newBlob = await dataUrl.toBlob( file.type )\n if ( !newBlob ) return\n let newFile: any = new File( [ newBlob ],name + '.' + extension,{ type: prevFile.type } )\n newFile.id = id\n\n nextFiles[ index ] = newFile\n\n set_status( {\n ...val_status,\n dataValue: nextFiles,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n set_edit( false )\n }\n } }\n >\n \u6C7A\u5B9A\n </Button.Button.Prime.R>\n </Flex>\n </Column>\n </>\n }\n />\n </Box>\n { !val_edit ? <>\n <Box\n fontSize={ '1.mini' }\n fontColor={ '4.thin' }\n flexSizing={ 0 }\n children={ FileName + '\u30D5\u30A1\u30A4\u30EB / ' + Size + 'B' }\n />\n </> : null }\n </Box>\n <Button.Button.Sub.R\n color='cloud'\n fontColor='4.thin'\n ssSphere={ 3 }\n onClick={ () => {\n let nextFiles = [ ...val_status.dataValue ]\n let prevFile = nextFiles[ index ]\n if ( !prevFile ) return\n\n nextFiles.splice( index,1 )\n set_status( {\n ...val_status,\n dataValue: nextFiles,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n } }\n >\n <FAI.Times />\n </Button.Button.Sub.R>\n </Flex>\n }\n}\nconst FileInput: React.FC<Filer.Input> = ( params ) => {\n let {\n tone,\n required,\n form,\n\n fileNameEdit = true,\n systemOnly = false,\n accept = '*',\n limit = 1,\n\n checkValidationAtFirst,\n onChange,\n onValidate,\n onUpdateValue,onUpdateValidValue,\n value = [],\n className,\n\n cellStyles,cellClassName,\n\n componentID,status_id,\n enableFormSubmit,\n\n ...others\n } = params\n\n let Default_Status: InputTypes.Status.Plain = {\n componentID: params.componentID || '',\n dataValue: value,\n eventType: 'init',\n eventID: $$.uuid.gen()\n }\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n CommonEffects( {\n type: 'file',\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n DefaultValidation,\n onUpdateValue,onUpdateValidValue,\n ExtraOverrideParams: {\n dataValue: value,\n formatValue: value,\n },\n ExtraStoreParams: {\n AddFiles: async ( files: any[] ) => {\n let currentFiles = useStore.get( val_status.componentID ).Files\n let newFiles = []\n for ( var i = 0; i < files?.length; i++ ) {\n let file = files[ i ]\n let { type,name } = file\n\n if ( i + 1 + currentFiles.length > limit ) {\n Snackbar.add( {\n componentID: name,\n secondsToClose: 12000,\n children: `\u30D5\u30A1\u30A4\u30EB\u9078\u629E\u4E0A\u9650\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${ name }}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,\n backgroundColor: 'nega'\n } )\n continue\n }\n\n if ( accept ) {\n if ( accept == 'image' ) {\n if ( !type.match( /image/ ) ) {\n Snackbar.add( {\n componentID: name,\n secondsToClose: 12000,\n children: `\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304C\u7570\u306A\u308B\u305F\u3081\u3001${ name } \u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,\n backgroundColor: 'nega'\n } )\n continue\n }\n }\n }\n newFiles.push( file )\n }\n set_status( {\n ...val_status,\n dataValue: [ ...currentFiles,...newFiles ],\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n }\n }\n } )\n\n let Accept = ''\n if ( accept ) {\n if ( accept == 'image' ) Accept = 'image/png,image/jpeg'\n else Accept = accept\n }\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <input\n type='file'\n className={ InputFilerClasses( 'Input' ) }\n data-form={ form }\n data-input-type={ 'file' }\n data-component-id={ val_status.componentID }\n data-validation={ val_validate.ok }\n accept={ Accept }\n multiple={ limit == 1 ? false : true }\n onChange={ async ( event ) => {\n let Input = event.target\n let files = Input.files as any\n let newFiles = []\n for ( var i = 0; i < files?.length; i++ ) {\n let file = files[ i ]\n let fileName = file.name\n file.id = $$.uuid.gen()\n\n if ( i + 1 + val_status.dataValue.length > limit ) {\n Snackbar.add( {\n componentID: fileName,\n secondsToClose: 12000,\n children: `\u30D5\u30A1\u30A4\u30EB\u767B\u9332\u6570\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${ fileName }}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,\n backgroundColor: 'nega'\n } )\n continue\n }\n newFiles.push( file )\n }\n set_status( {\n ...val_status,\n dataValue: [ ...val_status.dataValue,...newFiles ],\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n Input.value = ''\n } }\n { ...others }\n tabIndex={ -1 }\n value={ '' }\n />\n { !systemOnly ? <Comps.List\n files={ val_status.dataValue }\n params={ params }\n val_status={ val_status }\n set_status={ set_status }\n /> : null }\n </BoxWrapper>\n}\n\n$$( document ).addEvent( {\n eventType: 'dragover',\n callback: ( event ) => {\n event.preventDefault()\n\n $$( Config.get().appRoot )\n .find( '.' + InputFilerClasses( 'AddButton' ) )\n .addClass( InputFilerClasses( 'Draggable' ) )\n },\n option: {\n passive: false\n }\n} ).addEvent( {\n eventType: 'drop',\n callback: ( event: any ) => {\n event.preventDefault()\n\n $$( Config.get().appRoot )\n .find( '.' + InputFilerClasses( 'AddButton' ) )\n .removeClass( InputFilerClasses( 'Draggable' ) )\n let Files = event.dataTransfer.files\n if ( Files.length ) {\n let Target = event.target as HTMLElement\n\n if ( $$( Config.get().appRoot ).find( Target ).hasClass( InputFilerClasses( 'AddButton' ) ) ) {\n let { componentId } = Target.dataset\n let component = useStore.get( componentId! )\n if ( component && component.AddFiles ) component.AddFiles( Files )\n }\n }\n },\n option: { passive: false }\n} )\n\nconst Filer: Filer.Methods = ( rawParams: Filer.Input ) => {\n rawParams = { ...rawParams }\n rawParams.override = 'force'\n let params = GenerateClassName( rawParams )\n params.cellClassName = [\n params.cellClassName,\n DefaultStyles.Boxish( {\n ...params.cellStyles,\n tone: params.tone\n } ).className,\n ].join( ' ' )\n\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ FileInput }\n params={ params }\n />\n}\nFiler.fn = {\n openDialog: ( params ) => {\n let {\n multiple,\n accept\n } = params\n\n return new Promise( resolve => {\n const input = document.createElement( 'input' )\n input.type = 'file'\n input.multiple = multiple ?? true\n if ( accept ) {\n if ( accept == 'image' ) input.accept = 'image/png,image/jpeg'\n else input.accept = accept\n }\n input.onchange = ( event: any ) => {\n resolve( event.target.files )\n }\n input.click()\n } )\n }\n}\nexport {\n Filer,\n Filer as default\n}"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "useState", "useEffect", "$$", "useStore", "Config", "GenerateClassName", "Box", "FAI", "Flex", "Column", "Row", "Button", "Snackbar", "Wrapper", "BoxWrapper", "CommonEffects", "DefaultStyles", "Text", "InputFilerClasses", "faCloudArrowUp", "DefaultValidation", "props", "value", "params", "required", "notice", "type", "Comps", "files", "val_status", "set_status", "Left", "Files", "file", "index", "event", "key", "className", "fileNameEdit", "fileName", "size", "val_edit", "set_edit", "FileID", "Size", "name", "extension", "FileName", "form", "__async", "nextFiles", "prevFile", "id", "target", "newBlob", "newFile", "__spreadProps", "__spreadValues", "FileInput", "_a", "tone", "systemOnly", "accept", "limit", "checkValidationAtFirst", "onChange", "onValidate", "onUpdateValue", "onUpdateValidValue", "cellStyles", "cellClassName", "componentID", "status_id", "enableFormSubmit", "others", "__objRest", "Default_Status", "val_validate", "set_validate", "currentFiles", "newFiles", "i", "Accept", "Input", "Target", "componentId", "component", "Filer", "rawParams", "multiple", "resolve", "input"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/Hidden.tsx"],
4
- "sourcesContent": ["import {\n Wrapper\n} from './core'\n\nnamespace Hidden {\n export type Input = React.DOMAttributes<HTMLInputElement> & {\n componentID?: string\n name?: string\n form?: string\n\n enableFormSubmit?: boolean\n\n id?: string\n value?: string | number | plainObject\n }\n}\n\nconst HiddenInput: React.FC<Hidden.Input> = ( params ) => {\n let {\n componentID = '',\n enableFormSubmit,\n\n form,\n value = '',\n ...others\n } = params\n\n return <input\n value={ JSON.stringify( value ) }\n data-input-type={ 'hidden' }\n data-form={ form }\n data-component-id={ componentID }\n data-value={ JSON.stringify( value ) }\n { ...others }\n type='hidden'\n />\n}\n\nconst Hidden = ( params: Hidden.Input ) => {\n return <Wrapper\n componentID={ params.componentID }\n children={ HiddenInput }\n params={ params }\n />\n}\nexport {\n Hidden,\n Hidden as default\n}"],
5
- "mappings": "0DA2BS,cAAAA,MAAA,oBA3BT,OACE,WAAAC,MACK,SAeP,MAAMC,EAAwCC,GAAY,CACxD,IAOIC,EAAAD,EANF,aAAAE,EAAc,GACd,iBAAAC,EAEA,KAAAC,EACA,MAAAC,EAAQ,EAvBZ,EAyBMJ,EADCK,EAAAC,EACDN,EADC,CALH,cACA,mBAEA,OACA,UAIF,OAAOJ,EAAC,QAAAW,EAAAC,EAAA,CACN,MAAQ,KAAK,UAAWJ,CAAM,EAC9B,kBAAkB,SAClB,YAAYD,EACZ,oBAAoBF,EACpB,aAAa,KAAK,UAAWG,CAAM,GAC9BC,GANC,CAON,KAAK,UACP,CACF,EAEMI,EAAWV,GACRH,EAACC,EAAA,CACN,YAAcE,EAAO,YACrB,SAAWD,EACX,OAASC,EACX",
6
- "names": ["jsx", "Wrapper", "HiddenInput", "params", "_a", "componentID", "enableFormSubmit", "form", "value", "others", "__objRest", "__spreadProps", "__spreadValues", "Hidden"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/List.tsx"],
4
- "sourcesContent": ["import {\n TagProperty,\n ReactElement,\n} from '@declaration'\n\nimport {\n useState,\n useEffect\n} from 'react'\n\nimport {\n $$,\n Config\n} from '@utils'\n\nimport Box from '@atoms/Box'\nimport Flex from '@atoms/Flex'\nimport FAI from '@atoms/FAI'\nimport Button from '@fn/Button'\n\nimport {\n BoxWrapper,\n SubmitForm,\n CommonEffects,\n DefaultStyles,\n Wrapper\n} from './core'\n\nimport { InputTypes } from './_'\n\nimport Hidden from './Hidden'\n\nimport { InputListClasses } from '@styles/componentClasses/_'\n\nnamespace List {\n export type Tone = 'border' | 'cloud' | 'vivid' | 'normal' | 'plain'\n export type Input = InputTypes.CoreInput & {\n tone?: Tone\n icon?: boolean\n\n tabIndex?: number\n id?: string\n\n iconType?: 'radio' | 'checkbox'\n minSelect?: number\n\n\n disabled?: boolean\n value?: any | any[]\n options: Options[]\n\n hideInput?: boolean\n\n leftIndicator?: ReactElement | false\n rightIndicator?: ReactElement | false\n\n cellStyles?: TagProperty.Params\n cellClassName?: string\n cellCheckedStyles?: TagProperty.Params\n cellCheckedClassName?: string\n defaultActiveStyling?: boolean\n }\n export type Plain = Input & {\n type: 'radio' | 'checkbox' | 'checker'\n tone: Tone\n }\n export type Options = {\n value: any\n label: ReactElement\n disabled?: boolean\n className?: string\n checkedStyles?: TagProperty.Params\n checkedClassName?: string\n } & TagProperty.Params\n export type ListInput = {\n params: List.Plain\n val_status: InputTypes.Status.Plain\n set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Plain>>\n }\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let { value,params } = props\n let {\n type,\n required,\n minSelect = 0\n } = params as List.Plain\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required ) {\n if ( !value.length ) {\n if ( type == 'radio' ) {\n notice.push( { type: 'invalid',label: '\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093' } )\n }\n }\n }\n\n if ( minSelect ) {\n if ( value.length < minSelect ) {\n notice.push( { type: 'invalid',label: `${ minSelect }\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044` } )\n }\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\nconst ListInput: React.FC<List.Plain> = ( props ) => {\n let { value,options = [] } = props\n let Values = $$.is.exist( value ) ? $$.flatArray( value ) : []\n let DefaultOptions = options.map( ( option ) => {\n let { value,label } = option\n\n return {\n ...option,\n value: JSON.stringify( value ),\n label\n }\n } )\n let DefaultValues: string[] = []\n Values.forEach( ( value ) => {\n let Val = JSON.stringify( value )\n let Index = DefaultOptions.findIndex( ( option ) => option.value == Val )\n if ( Index == -1 ) return\n DefaultValues.push( Val )\n } )\n\n return <Comps.Core\n { ...props }\n value={ DefaultValues }\n options={ DefaultOptions }\n />\n}\nconst Comps = {\n Core: ( params: List.Plain ) => {\n let {\n type,\n tone,\n required,\n componentID = '',\n form,\n override,\n\n freeCSS,\n icon,\n iconType,\n\n enableFormSubmit,\n defaultActiveStyling,\n checkValidationAtFirst,\n onValidate,\n onUpdateValue,onUpdateValidValue,\n value,\n options,\n leftIndicator,rightIndicator,\n\n className,\n\n cellStyles,cellClassName,\n cellCheckedStyles,cellCheckedClassName,\n\n ...others\n } = params\n\n let Default_Status: InputTypes.Status.Plain = {\n componentID,\n dataValue: value,\n eventType: 'init',\n eventID: $$.uuid.gen()\n }\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n CommonEffects( {\n type: 'list',\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n onUpdateValue,onUpdateValidValue,\n DefaultValidation\n } )\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <Hidden\n data-value={ JSON.stringify( val_status.dataValue ) }\n form={ form }\n data-input-type={ type }\n data-validation={ val_validate.ok }\n { ...others }\n componentID={ val_status.componentID }\n />\n <Comps.List\n params={ params }\n val_status={ val_status }\n set_status={ set_status }\n />\n </BoxWrapper>\n },\n List: ( props: List.ListInput ) => {\n let {\n params,\n val_status,\n set_status\n } = props\n\n let {\n componentID,\n type,\n tone,\n icon = true,\n options,\n name,\n form,\n tabIndex,\n hideInput,\n disabled: DefaultDisabled,\n className: ListClassName,\n\n cellStyles: DefaultCellStyles,\n cellClassName: DefaultCellClassName = '',\n cellCheckedStyles: DefaultCellCheckedStyles,\n cellCheckedClassName: DefaultCellCheckedClassName = '',\n\n enableFormSubmit,\n defaultActiveStyling = true\n } = params\n let {\n dataValue\n } = val_status\n\n let IconBox = icon ? <Box\n flexSizing={ 'none' }\n children={ params.iconType == 'radio' ? <Comps.RadioIcon /> :\n params.iconType == 'checkbox' ? <Comps.CheckboxIcon /> : null }\n /> : null\n\n let Cells = options.map( ( option,index ) => {\n let {\n value,\n label,\n disabled = DefaultDisabled,\n className = '',\n checkedStyles,\n checkedClassName = '',\n ...styles\n } = option\n\n let CellID = $$.uuid.gen()\n let Checked = dataValue.findIndex( ( v: string ) => v === value ) != -1\n\n let Styles = {\n ...DefaultCellStyles,\n ...styles\n } as TagProperty.Params\n let ClassName = [\n InputListClasses( 'Label' ),\n InputListClasses( 'defaultActiveStyling_' + !!defaultActiveStyling ),\n DefaultCellClassName,\n className\n ]\n\n if ( Checked ) {\n Styles = {\n ...Styles,\n ...DefaultCellCheckedStyles,\n ...checkedStyles,\n freeCSS: {\n ...Styles.freeCSS,\n ...DefaultCellCheckedStyles?.freeCSS,\n ...checkedStyles?.freeCSS\n }\n }\n\n ClassName = [\n ...ClassName,\n DefaultCellCheckedClassName,\n checkedClassName\n ]\n }\n\n return [\n <input\n key={ 'List-' + JSON.stringify( value ) }\n type={ type == 'radio' ? 'radio' : 'checkbox' }\n className={ [\n InputListClasses( 'Input' ),\n InputListClasses( 'defaultActiveStyling_' + !!defaultActiveStyling )\n ].join( ' ' ) }\n name={ 'RadioCheckbox-' + name }\n data-list-index={ componentID + '-' + index }\n id={ CellID }\n value={ String( value ) }\n data-form-name={ form }\n disabled={ disabled }\n checked={ Checked }\n onFocus={ ( event ) => {\n if ( disabled ) return\n if ( type != 'radio' ) return\n if ( val_status.dataValue.length ) return\n let { value,checked } = event.target\n let nextValue: any = [ value ]\n\n set_status( {\n ...val_status,\n dataValue: nextValue,\n eventType: 'update',\n eventID: $$.uuid.gen()\n } )\n } }\n onChange={ ( event ) => {\n if ( disabled ) return\n let { value,checked } = event.target\n let nextValue = []\n if ( type == 'radio' ) {\n nextValue = [ value ]\n } else if ( type == 'checkbox' || type == 'checker' ) {\n if ( checked ) {\n nextValue = [ ...val_status.dataValue,value ]\n } else {\n let prevValue = [ ...val_status.dataValue ]\n prevValue.splice( val_status.dataValue.findIndex( ( v: any ) => v == value ),1 )\n nextValue = prevValue\n }\n }\n\n set_status( {\n ...val_status,\n dataValue: nextValue,\n eventType: 'update',\n eventID: $$.uuid.gen()\n } )\n } }\n onKeyDown={ ( event ) => {\n let { key,shiftKey } = event\n if ( type == 'checkbox' || type == 'checker' ) {\n if ( key == 'Tab' ) {\n if ( shiftKey ) { } else { }\n } else if ( key.match( /Arrow/ ) ) {\n event.preventDefault()\n\n let dir = [ 'ArrowLeft','ArrowUp' ].includes( key ) ? -1 : 1\n let nextIndex = index + dir\n\n if ( nextIndex < 0 ) {\n nextIndex = options.length - 1\n } else if ( nextIndex >= options.length ) {\n nextIndex = 0\n }\n\n $$( Config.get().appRoot )\n .find( `input[data-list-index=\"${ componentID }-${ nextIndex }\"]` )\n .focus()\n }\n }\n\n if ( enableFormSubmit ) SubmitForm( event )\n } }\n tabIndex={ tabIndex }\n />,\n <Button.Label.Plain\n key={ 'ListTrigger-' + JSON.stringify( value ) }\n htmlFor={ CellID }\n className={ ClassName.join( ' ' ) }\n tabIndex={ -1 }\n display='flex'\n ssEffectsOnActive={ false }\n verticalAlign='center'\n gap={ '1/3' }\n flexWrap={ false }\n { ...Styles }\n >\n { IconBox }\n { $$.is.string( label ) ? <Box children={ label } /> : label }\n </Button.Label.Plain>\n ]\n } )\n\n return <Flex\n flexSizing={ 'auto' }\n freeCSS={ {\n ...params.freeCSS\n } }\n className={ [\n ListClassName,\n InputListClasses( 'CellBase' ),\n InputListClasses( 'HideInput_' + hideInput ),\n InputListClasses( 'IconIndicator_' + !!icon ),\n InputListClasses( 'Tone_' + tone )\n ].join( ' ' ) }\n children={ Cells }\n />\n },\n RadioIcon: () => ( <Box\n className={ InputListClasses( 'Icon' ) }\n backgroundColor={ '1.layer.base' }\n border\n transition='middle'\n position='relative'\n borderRadius={ 'sphere' }\n flexCenter\n /> ),\n CheckboxIcon: () => ( <Box\n className={ [\n InputListClasses( 'Icon' ),\n InputListClasses( 'CheckboxIcon' )\n ].join( ' ' ) }\n borderRadius={ '3.tone.tertiary' }\n backgroundColor={ '1.layer.base' }\n border\n transition='middle'\n fontColor={ 'white' }\n position='relative'\n flexCenter\n >\n <FAI.Check\n className={ InputListClasses( 'I' ) }\n transition='middle'\n opacity='trans'\n freeCSS={ {\n zIndex: 8\n } }\n />\n </Box> ),\n}\n\n\nconst Plain: React.FC<List.Plain> = ( rawParams ) => {\n rawParams = { ...rawParams }\n let params = DefaultStyles.ListCell( rawParams )\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ ListInput }\n params={ params }\n />\n}\nconst Radio: React.FC<List.Input> = ( params ) => ( <Plain\n iconType='radio'\n tone={ params.tone as any }\n { ...params }\n type='radio'\n/> )\nconst Checkbox: React.FC<List.Input> = ( params ) => ( <Plain\n iconType='checkbox'\n tone={ params.tone as any }\n { ...params }\n type='checkbox'\n/> )\nconst List = {\n Plain,\n Radio,\n Checkbox\n}\nexport {\n List,\n Radio,\n Checkbox,\n List as default\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "useState", "$$", "Config", "Box", "Flex", "FAI", "Button", "BoxWrapper", "SubmitForm", "CommonEffects", "DefaultStyles", "Wrapper", "Hidden", "InputListClasses", "DefaultValidation", "props", "value", "params", "type", "required", "minSelect", "notice", "ListInput", "options", "Values", "DefaultOptions", "option", "label", "__spreadProps", "__spreadValues", "DefaultValues", "Val", "Comps", "_a", "tone", "componentID", "form", "override", "freeCSS", "icon", "iconType", "enableFormSubmit", "defaultActiveStyling", "checkValidationAtFirst", "onValidate", "onUpdateValue", "onUpdateValidValue", "leftIndicator", "rightIndicator", "className", "cellStyles", "cellClassName", "cellCheckedStyles", "cellCheckedClassName", "others", "__objRest", "Default_Status", "val_status", "set_status", "val_validate", "set_validate", "name", "tabIndex", "hideInput", "DefaultDisabled", "ListClassName", "DefaultCellStyles", "DefaultCellClassName", "DefaultCellCheckedStyles", "DefaultCellCheckedClassName", "dataValue", "IconBox", "Cells", "index", "disabled", "checkedStyles", "checkedClassName", "styles", "CellID", "Checked", "v", "Styles", "ClassName", "event", "checked", "nextValue", "prevValue", "key", "shiftKey", "dir", "nextIndex", "Plain", "rawParams", "Radio", "Checkbox", "List"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/Parts.tsx"],
4
- "sourcesContent": ["import {\n TagProperty,\n ReactElement,\n} from '@declaration'\n\nimport Box from '@atoms/Box'\nimport Span from '@atoms/Span'\n\nimport {\n DefaultStyles\n} from './core'\nimport { InputTypes } from './_'\n\nimport { InputClasses } from '@styles/componentClasses/_'\n\nnamespace Parts {\n export type Methods = {\n RequiredSign: React.FC<Span.Input>\n RequiredShortSign: React.FC<Span.Input>\n OmitSign: React.FC<Span.Input>\n LeftIndicator: React.FC<Input>\n RightIndicator: React.FC<Input>\n LeftIcon: React.FC<Input>\n RightIcon: React.FC<Input>\n }\n\n export type Input = TagProperty.Params & {\n tone?: InputTypes.BoxTone\n className?: string\n children: ReactElement\n }\n}\n\nconst Parts: Parts.Methods = {\n RequiredSign: ( params ) => {\n return <Span\n fontColor='white'\n fontSize={ '0.xs' }\n padding={ [ '1/4','1/3' ] }\n backgroundColor='nega'\n borderRadius={ '3.tone.tertiary' }\n children={ '\u5FC5\u9808' }\n { ...params }\n />\n },\n RequiredShortSign: ( params ) => {\n return <Span\n fontColor='nega'\n padding={ [ '1/4','1/3' ] }\n borderRadius={ '3.tone.tertiary' }\n children={ '*' }\n { ...params }\n />\n },\n OmitSign: ( params ) => {\n return <Span\n fontColor='white'\n fontSize={ '0.xs' }\n padding={ [ '1/4','1/3' ] }\n borderRadius={ '3.tone.tertiary' }\n backgroundColor='6.layer.darkest'\n children={ '\u7701\u7565\u53EF' }\n { ...params }\n />\n },\n LeftIndicator: ( params ) => {\n let {\n tone,\n ...others\n } = params\n\n return <Box\n { ...DefaultStyles.Indicator( tone! ) }\n borderTopRightRadius={ '2/3' }\n borderBottomRightRadius={ '2/3' }\n { ...others }\n />\n },\n RightIndicator: ( params ) => {\n let {\n tone,\n ...others\n } = params\n\n return <Box\n { ...DefaultStyles.Indicator( tone! ) }\n borderTopLeftRadius={ '2/3' }\n borderBottomLeftRadius={ '2/3' }\n { ...others }\n />\n },\n RightIcon: ( params ) => {\n let {\n tone = 'border',\n ...others\n } = params\n\n return <Box\n { ...DefaultStyles.IndicatorIcon }\n right={ '3/4' }\n className={ InputClasses( 'IndicatorIcon' ) }\n { ...others }\n freeCSS={ {\n zIndex: 6,\n pointerEvents: 'none',\n ...others.freeCSS\n } }\n />\n },\n LeftIcon: ( params ) => {\n let {\n tone = 'border',\n ...others\n } = params\n\n return <Box\n { ...DefaultStyles.IndicatorIcon }\n left={ '3/4' }\n className={ InputClasses( 'IndicatorIcon' ) }\n { ...others }\n freeCSS={ {\n zIndex: 6,\n pointerEvents: 'none',\n ...others.freeCSS\n } }\n />\n },\n}\nexport {\n Parts,\n Parts as default\n}"],
5
- "mappings": "qDAmCW,cAAAA,MAAA,oBA9BX,OAAOC,MAAS,aAChB,OAAOC,MAAU,cAEjB,OACE,iBAAAC,MACK,SAGP,OAAS,gBAAAC,MAAoB,6BAoB7B,MAAMC,EAAuB,CAC3B,aAAgBC,GACPN,EAACE,EAAAK,EAAA,CACN,UAAU,QACV,SAAW,OACX,QAAU,CAAE,MAAM,KAAM,EACxB,gBAAgB,OAChB,aAAe,kBACf,SAAW,gBACND,EACP,EAEF,kBAAqBA,GACZN,EAACE,EAAAK,EAAA,CACN,UAAU,OACV,QAAU,CAAE,MAAM,KAAM,EACxB,aAAe,kBACf,SAAW,KACND,EACP,EAEF,SAAYA,GACHN,EAACE,EAAAK,EAAA,CACN,UAAU,QACV,SAAW,OACX,QAAU,CAAE,MAAM,KAAM,EACxB,aAAe,kBACf,gBAAgB,kBAChB,SAAW,sBACND,EACP,EAEF,cAAiBA,GAAY,CAC3B,IAGIE,EAAAF,EAFF,MAAAG,CAnEN,EAqEQD,EADCE,EAAAC,EACDH,EADC,CADH,SAIF,OAAOR,EAACC,EAAAM,EAAAK,EAAAL,EAAA,GACDJ,EAAc,UAAWM,CAAM,GAD9B,CAEN,qBAAuB,MACvB,wBAA0B,QACrBC,EACP,CACF,EACA,eAAkBJ,GAAY,CAC5B,IAGIE,EAAAF,EAFF,MAAAG,CAhFN,EAkFQD,EADCE,EAAAC,EACDH,EADC,CADH,SAIF,OAAOR,EAACC,EAAAM,EAAAK,EAAAL,EAAA,GACDJ,EAAc,UAAWM,CAAM,GAD9B,CAEN,oBAAsB,MACtB,uBAAyB,QACpBC,EACP,CACF,EACA,UAAaJ,GAAY,CACvB,IAGIE,EAAAF,EAFF,MAAAG,EAAO,QA7Fb,EA+FQD,EADCE,EAAAC,EACDH,EADC,CADH,SAIF,OAAOR,EAACC,EAAAW,EAAAL,EAAAK,EAAAL,EAAA,GACDJ,EAAc,eADb,CAEN,MAAQ,MACR,UAAYC,EAAc,eAAgB,IACrCM,GAJC,CAKN,QAAUH,EAAA,CACR,OAAQ,EACR,cAAe,QACZG,EAAO,UAEd,CACF,EACA,SAAYJ,GAAY,CACtB,IAGIE,EAAAF,EAFF,MAAAG,EAAO,QA/Gb,EAiHQD,EADCE,EAAAC,EACDH,EADC,CADH,SAIF,OAAOR,EAACC,EAAAW,EAAAL,EAAAK,EAAAL,EAAA,GACDJ,EAAc,eADb,CAEN,KAAO,MACP,UAAYC,EAAc,eAAgB,IACrCM,GAJC,CAKN,QAAUH,EAAA,CACR,OAAQ,EACR,cAAe,QACZG,EAAO,UAEd,CACF,CACF",
6
- "names": ["jsx", "Box", "Span", "DefaultStyles", "InputClasses", "Parts", "params", "__spreadValues", "_a", "tone", "others", "__objRest", "__spreadProps"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fn/Input/Plain.tsx"],
4
- "sourcesContent": ["import {\n TagProperty\n} from '@declaration'\n\nimport {\n GenerateClassName\n} from '@utils'\n\nnamespace _Plain {\n export type Input = TagProperty.Params & React.InputHTMLAttributes<HTMLInputElement>\n}\nconst _Plain = ( params: _Plain.Input ) => ( <input { ...GenerateClassName( params ) } /> )\n\nexport {\n _Plain,\n _Plain as default\n}"],
5
- "mappings": "4CAW6C,cAAAA,MAAA,oBAP7C,OACE,qBAAAC,MACK,SAKP,MAAMC,EAAWC,GAA4BH,EAAC,QAAAI,EAAA,GAAWH,EAAmBE,CAAO,EAAI",
6
- "names": ["jsx", "GenerateClassName", "_Plain", "params", "__spreadValues"]
7
- }