-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,3 +4,7 @@ coverage/ | |
npm-debug.log | ||
package-lock.json | ||
.nyc_output | ||
.idea | ||
.vscode | ||
.DS_Store | ||
coverage.lcov |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,15 @@ | ||
.editorconfig | ||
.npmignore | ||
.vscode | ||
.eslintrc | ||
.nycrc | ||
.travis.yml | ||
.bower.json | ||
.nyc_output | ||
package-lock.json | ||
docs/ | ||
jest_result.png | ||
test-result.png | ||
tests | ||
example | ||
coverage | ||
node_modules | ||
coverage.lcov |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"include": [ | ||
"src/**/*.ts" | ||
], | ||
"exclude": [ | ||
"tests/*.test.js" | ||
], | ||
"all": true, | ||
"sourceMap": true, | ||
"cache": false, | ||
"check-coverage": true, | ||
"extension": [".ts"] | ||
} |
This file was deleted.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<meta | ||
name="description" | ||
content="Example Thai Citizen ID Input Validation with WCAG Support" | ||
/> | ||
<meta name="author" content="Chukkrit V." /> | ||
<title>Thai Citizen ID Input Validation</title> | ||
<script | ||
src="https://cdnjs.cloudflare.com/ajax/libs/imask/7.1.3/imask.min.js" | ||
crossorigin="anonymous" | ||
referrerpolicy="no-referrer" | ||
></script> | ||
<script type="module" crossorigin src="./assets/index-ByB4O58P.js"></script> | ||
<link rel="stylesheet" crossorigin href="./assets/index-Bjn-ATP8.css"> | ||
</head> | ||
|
||
<body> | ||
<a | ||
href="https://github.com/jukbot/thai-citizen-id-validator" | ||
class="github-corner" | ||
aria-label="View source on Github" | ||
> | ||
<svg | ||
width="80" | ||
height="80" | ||
viewBox="0 0 250 250" | ||
style=" | ||
fill: #151513; | ||
color: #fff; | ||
position: absolute; | ||
top: 0; | ||
border: 0; | ||
right: 0; | ||
" | ||
aria-hidden="true" | ||
> | ||
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path> | ||
<path | ||
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" | ||
fill="currentColor" | ||
style="transform-origin: 130px 106px" | ||
class="octo-arm" | ||
></path> | ||
<path | ||
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" | ||
fill="currentColor" | ||
class="octo-body" | ||
></path> | ||
</svg> | ||
</a> | ||
<style> | ||
.github-corner:hover .octo-arm { | ||
animation: octocat-wave 560ms ease-in-out; | ||
} | ||
|
||
@keyframes octocat-wave { | ||
0%, | ||
100% { | ||
transform: rotate(0); | ||
} | ||
20%, | ||
60% { | ||
transform: rotate(-25deg); | ||
} | ||
40%, | ||
80% { | ||
transform: rotate(10deg); | ||
} | ||
} | ||
|
||
@media (max-width: 500px) { | ||
.github-corner:hover .octo-arm { | ||
animation: none; | ||
} | ||
.github-corner .octo-arm { | ||
animation: octocat-wave 560ms ease-in-out; | ||
} | ||
} | ||
</style> | ||
<section> | ||
<h1>Thai Citizen ID Validation with WCAG Standard</h1> | ||
|
||
<h2>ตรวจสอบความถูกต้องเลขบัตรประชาชน</h2> | ||
|
||
<form id="validator-form" action="/target" method="post"> | ||
<label class="label" id="InputLabel" for="citizenid" | ||
>Enter your 🇹🇭 citizen ID</label | ||
> | ||
<input | ||
class="input" | ||
id="citizenid" | ||
type="text" | ||
name="citizenid" | ||
placeholder="X-XXXX-XXXXX-XX-X" | ||
autocomplete="off" | ||
autofocus | ||
title="citizen ID Input" | ||
aria-labelledby="InputLabel" | ||
aria-invalid | ||
aria-required="true" | ||
required | ||
tabindex="1" | ||
/> | ||
<button | ||
type="submit" | ||
id="button" | ||
value="confirm" | ||
tabindex="2" | ||
aria-label="Submit" | ||
disabled | ||
> | ||
Submit 🕵️♀️ | ||
</button> | ||
</form> | ||
<div | ||
class="text error" | ||
id="errorMessage" | ||
aria-hidden="true" | ||
aria-label="Invalid ID" | ||
role="alert" | ||
> | ||
<p>ID is invalid format ❌</p> | ||
</div> | ||
<div | ||
class="text success" | ||
id="successMessage" | ||
aria-hidden="true" | ||
aria-label="Valid ID" | ||
role="alert" | ||
> | ||
<p>ID is valid format ✅</p> | ||
</div> | ||
</section> | ||
</body> | ||
</html> |
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
declare function isValidThaiID(input: string | number): boolean; | ||
|
||
export interface Window { | ||
isValidThaiID: typeof isValidThaiID; | ||
} | ||
|
||
export as namespace isValidThaiID; | ||
export { isValidThaiID }; | ||
export default isValidThaiID; |