semantic-forms 5.2.0 → 5.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/semantic-forms.cjs +1 -1
- package/dist/semantic-forms.cjs.map +1 -1
- package/dist/semantic-forms.css +1556 -1581
- package/dist/semantic-forms.css.map +1 -1
- package/dist/semantic-forms.js +1 -1
- package/dist/semantic-forms.js.map +1 -1
- package/dist/semantic-forms.min.js +1 -1
- package/dist/semantic-forms.min.js.map +1 -1
- package/dist/semantic-forms.min.mjs +1 -1
- package/dist/semantic-forms.min.mjs.map +1 -1
- package/dist/semantic-forms.mjs +1 -1
- package/dist/semantic-forms.mjs.map +1 -1
- package/docs/statics/pages/fullDemo.html +169 -216
- package/docs/statics/pages/reservedKeyboardShortcuts.html +567 -565
- package/package.json +3 -3
- package/semanticForms.js +2 -1
- package/semanticForms.scss +638 -437
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../semanticForms.scss"],"names":[],"mappings":"AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAiCF;EAGM;IAhCJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;;;AAgBA;EAzCF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAsBJ;EA/CE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AA2BJ;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;;AAGA;EAXF;AAAA;AAAA;AAAA;IAYI;;;AAIF;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;EACA;EACA;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAA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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;;AAOR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;;EAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;;AAMR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAIE;;EAGF;AAAA;AAAA;AAAA;IACE;;EASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;;AAOR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;;EAWE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;;AAOR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAQE;;EAGF;AAAA;AAAA;AAAA;IACE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAGE;;EAaE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;;AAOR;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAWE;;EAGF;AAAA;AAAA;AAAA;IACE;;EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;;EAeE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAEE;;;AAQR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AASF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAOR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAMN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAKN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;;AAOJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EACE;;AAKE;AAAA;AAAA;EACE;;AAMN;AAAA;EACE","file":"semantic-forms.css"}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../semanticForms.scss"],"names":[],"mappings":"AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAiCF;EAGM;IAhCJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;;;AAgBA;EAzCF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAsBJ;EA/CE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AA2BJ;AAAA;AAAA;AAAA;EAIE;EACA;EACA;;AAGA;EATF;AAAA;AAAA;AAAA;IAUI;;;AAIF;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAYE;EACA;EACA;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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GF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;AAAA;A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","file":"semantic-forms.css"}
|
package/dist/semantic-forms.js
CHANGED
|
@@ -101,7 +101,7 @@ if(maxRows)input.setAttribute("rows",""+Math.min(rows,Number(maxRows)));else inp
|
|
|
101
101
|
input.dispatchEvent(new Event("input",{bubbles:true}))}
|
|
102
102
|
// progressively enhance textarea for Firefox and Safari
|
|
103
103
|
// this may be removed once fully supported in Firefox and Safari: https://caniuse.com/wf-field-sizing
|
|
104
|
-
if(input.getAttribute("data-auto-grow")!==null){const adjustHeight=()=>{if(input.value.length)input.style.height=input.scrollHeight+"px"
|
|
104
|
+
if(input.getAttribute("data-auto-grow")!==null){const adjustHeight=()=>{if(input.value.length){const borderWidth=parseInt(window.getComputedStyle(input).getPropertyValue("border-width"));input.style.height=input.scrollHeight+borderWidth*2+"px"}else input.style.height=window.getComputedStyle(form).getPropertyValue("--semanticFormsInputHeight")};
|
|
105
105
|
// set initial height to semantic-forms CSS variable
|
|
106
106
|
input.style.height=window.getComputedStyle(form).getPropertyValue("--semanticFormsInputHeight");input.addEventListener("input",adjustHeight)}
|
|
107
107
|
// shifts the clear button to the right if a scrollbar is present
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-forms.js","mappings":"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","sources":["webpack://semanticForms/webpack/universalModuleDefinition","webpack://semanticForms/./semanticForms.js","webpack://semanticForms/webpack/bootstrap","webpack://semanticForms/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"semanticForms\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"semanticForms\"] = factory();\n\telse\n\t\troot[\"semanticForms\"] = factory();\n})(this, () => {\nreturn ","const semanticForms = () => {\n // do some feature detection so none of the JS executes if the browser is too old\n if (typeof document.getElementsByClassName !== 'function' || typeof document.querySelector !== 'function' || !document.body.classList || !window.MutationObserver) {\n console.warn('semantic-forms was loaded into an unsupported browser and will not execute.')\n return\n }\n\n const passwordShow = '<svg fill=\"none\" height=\"256\" viewBox=\"0 0 24 24\" width=\"256\" xmlns=\"http://www.w3.org/2000/svg\"><g stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m1 12s4-8 11-8 11 8 11 8\"/><path d=\"m1 12s4 8 11 8 11-8 11-8\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></g></svg>'\n const passwordHide = '<svg fill=\"none\" height=\"256\" viewBox=\"0 0 24 24\" width=\"256\" xmlns=\"http://www.w3.org/2000/svg\"><g stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m2 2 20 20\"/><path d=\"m6.71277 6.7226c-3.04798 2.07267-4.71277 5.2774-4.71277 5.2774s3.63636 7 10 7c2.0503 0 3.8174-.7266 5.2711-1.7116m-6.2711-12.23018c.3254-.03809.6588-.05822 1-.05822 6.3636 0 10 7 10 7s-.6918 1.3317-2 2.8335\"/><path d=\"m14 14.2362c-.5308.475-1.2316.7639-2 .7639-1.6569 0-3-1.3431-3-3 0-.8237.33193-1.5698.86932-2.11192\"/></g></svg>'\n const helpTextIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" style=\"overflow:visible;\"><rect width=\"16\" height=\"16\" fill=\"none\"/><path fill=\"currentColor\" d=\"M8,10.5c-0.552,0-1,0.448-1,1c0,0.552,0.448,1,1,1c0.552,0,1-0.448,1-1C9,10.948,8.552,10.5,8,10.5z M8,0 C3.582,0,0,3.582,0,8c0,4.418,3.582,8,8,8s8-3.582,8-8C16,3.582,12.418,0,8,0z M12.243,12.243C11.109,13.376,9.603,14,8,14 s-3.109-0.624-4.243-1.757C2.624,11.109,2,9.603,2,8s0.624-3.109,1.757-4.243C4.891,2.624,6.397,2,8,2s3.109,0.624,4.243,1.757 C13.376,4.891,14,6.397,14,8C14,9.603,13.376,11.109,12.243,12.243z M7.927,3.755c-2.248,0-2.76,1.695-2.802,2.906h1.571 c0.028-0.256,0.101-1.418,1.221-1.418c0.672,0,1.206,0.406,1.206,1.175c0,0.695-0.724,1.155-1.303,1.711 C7.241,8.685,7.168,9.325,7.168,9.824V10c0.146,0,1.615,0,1.615,0V9.824c0-1.256,1.967-1.594,1.967-3.541 C10.75,5.059,9.874,3.755,7.927,3.755z\"/></svg>'\n\n const nodeNameLookup = ['TEXTAREA', 'SELECT']\n const inputTypeLookup = ['checkbox', 'color', 'date', 'datetime-local', 'email', 'file', 'image', 'month', 'number', 'password', 'radio', 'range', 'search', 'tel', 'text', 'time', 'url', 'week']\n const keyboardShortcuts = []\n\n // custom keyboard shortcut listener\n document.addEventListener('keydown', (e) => {\n const specialCharMap = {\n Minus: '-',\n Equal: '=',\n BracketLeft: '[',\n BracketRight: ']',\n Backslash: '\\\\',\n Semicolon: ';',\n Quote: '\\'',\n Comma: ',',\n Period: '.',\n Slash: '/',\n Backquote: '`'\n }\n\n const shiftSpecialCharMap = {\n 1: '!',\n 2: '@',\n 3: '#',\n 4: '$',\n 5: '%',\n 6: '^',\n 7: '&',\n 8: '*',\n 9: '(',\n 0: ')',\n Minus: '_',\n Equal: '+',\n BracketLeft: '{',\n BracketRight: '}',\n Backslash: '|',\n Semicolon: ':',\n Quote: '\"',\n Comma: '<',\n Period: '>',\n Slash: '?',\n Backquote: '~'\n }\n\n const shortcut = keyboardShortcuts.find(shortcut => {\n let matchesKey = false\n if (e.altKey && !e.shiftKey) {\n // mac adjusts the key value if altKey is pressed\n matchesKey = 'Key' + shortcut.key.toUpperCase() === e.code ||\n 'Digit' + shortcut.key.toUpperCase() === e.code ||\n shortcut.key === e.key ||\n specialCharMap[e.code] === shortcut.key\n } else if (e.shiftKey) {\n // check shift special character map\n const code = e.code.replace(/Key|Digit/, '')\n matchesKey = (shiftSpecialCharMap[code] || shiftSpecialCharMap[e.key]) &&\n (shiftSpecialCharMap[code] === shortcut.key || shiftSpecialCharMap[e.key] === shortcut.key)\n } else {\n matchesKey = shortcut.key.toUpperCase() === e.key.toUpperCase()\n }\n if (!matchesKey) return false\n\n let matchesModifier\n if (shortcut.modifier) {\n if (shortcut.modifier === shortcut.defaultModifier) matchesModifier = shortcut.os === 'windows' || shortcut.os === 'linux' ? e.ctrlKey : e.metaKey\n if (shortcut.modifier === 'meta') matchesModifier = e.metaKey\n if (shortcut.modifier === 'alt') matchesModifier = e.altKey\n if (shortcut.modifier === 'ctrl') matchesModifier = e.ctrlKey\n }\n return matchesModifier\n })\n\n if (shortcut) {\n e.preventDefault()\n shortcut.input.focus()\n }\n })\n\n // progressively enhance form elements that have the semanticForms class\n const forms = document.querySelectorAll('form.semanticForms:not(.semanticFormsActive), table.semanticForms:not(.semanticFormsActive)')\n\n for (const form of forms) {\n form.classList.add('semanticFormsActive')\n if (form.classList.contains('lowFlow')) continue\n\n // update each input in the semantic form\n const inputs = Array.from(form.querySelectorAll('input, textarea, select'))\n for (let input of inputs) {\n // ignore input if it has previously been formatted\n if (input.classList.contains('semanticform') || !input.id) continue\n\n const type = input.getAttribute('type')\n if (nodeNameLookup.includes(input.nodeName) || inputTypeLookup.includes(type)) {\n // recursively find <dl> element\n let dl = input.parentNode\n while (dl && dl.nodeName !== 'DL') dl = dl.parentNode\n\n if (!dl) continue\n if (!dl.classList.contains('floatLabelForm')) dl.classList.add('floatLabelForm')\n\n const label = input.parentNode.parentNode.id && (type === 'checkbox' || type === 'radio')\n ? document.querySelector('label[data-for=' + input.parentNode.parentNode.id.replace(/\\./g, '\\\\.') + ']')\n : document.querySelector('label[for=' + input.id.replace(/\\./g, '\\\\.') + ']')\n\n if (!label) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) without a properly associated label. Make sure there is a label for it and the label has a matching \"for\" attribute.`)\n }\n\n input.classList.add('semanticform')\n\n // #region create labels\n\n const newLabel = document.createElement('label')\n newLabel.className = 'floatLabelFormAnimatedLabel'\n\n if (type === 'checkbox' || type === 'radio') {\n // recursively find <dd> element\n let dd = input.parentNode\n while (dd && dd.nodeName !== 'DD') dd = dd.parentNode\n\n if (!dd) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that is not inside a <dd> element.`)\n continue\n }\n\n if (dd.firstChild.nodeName !== 'LABEL') {\n if (type === 'checkbox' && input.parentNode.nodeName === 'DD') {\n newLabel.setAttribute('for', input.id)\n input.parentNode.classList.add('singleCheckbox')\n newLabel.className = ''\n label.setAttribute('hidden', 'hidden')\n insertAfter(newLabel, input)\n }\n\n if (type === 'radio' && input.parentNode.nodeName === 'DD') {\n newLabel.setAttribute('for', input.id)\n input.parentNode.classList.add('singleRadio')\n newLabel.className = ''\n label.setAttribute('hidden', 'hidden')\n insertAfter(newLabel, input)\n }\n\n newLabel.innerHTML = label.innerHTML\n\n if (label.hasAttribute('title') && label.getAttribute('data-show-help-icon') !== null && !label.querySelector('span.help')) {\n const text = label.getAttribute('title')\n label.innerHTML += ` <span title=\"${text}\" class=\"help\">${helpTextIcon}</span>`\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"help\">${helpTextIcon}</span>`\n }\n\n if (dd.querySelector(':required') && label.getAttribute('data-no-asterisk') === null && !label.querySelector('span.required')) {\n const text = label.getAttribute('data-asterisk-text') || 'This field is required.'\n label.innerHTML += ` <span title=\"${text}\" class=\"required\">*</span>`\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"required\">*</span>`\n }\n\n if (!dd.querySelector('label')) dd.append(newLabel)\n }\n\n // removes old div that a radio or checkbox may have been added to\n if (dd.parentElement.nodeName === 'DIV') dd.parentElement.remove()\n\n const div = document.createElement('div')\n div.append(label.closest('dt'), dd)\n dl.append(div)\n } else {\n newLabel.setAttribute('for', input.id)\n newLabel.innerHTML = label.innerHTML\n\n if (input.hasAttribute('title') && label.getAttribute('data-show-help-icon') !== null && !label.querySelector('span.help')) {\n const text = input.getAttribute('title')\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"help\">${helpTextIcon}</span>`\n }\n\n if (input.hasAttribute('required') && label.getAttribute('data-no-asterisk') === null && !label.querySelector('span.required')) {\n const text = label.getAttribute('data-asterisk-text') || 'This field is required.'\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"required\">*</span>`\n }\n\n label.setAttribute('hidden', 'hidden')\n\n insertAfter(newLabel, input)\n }\n // #endregion\n\n // #region keyboard shortcuts\n if (input.getAttribute('data-focus-key') !== null) {\n function handleKeyboardShortcut () {\n const os = getOS()\n // this is the custom keyword for meta on linux/mac, ctrl on windows\n const defaultModifier = 'metactrl'\n\n // get focus key value\n let focusKey = input.getAttribute('data-focus-key')\n if (focusKey.length > 1) {\n console.error(`Provided focus key \"${focusKey}\" is more than one character. Using first character only.`)\n focusKey = focusKey.toString()[0]\n }\n\n // get focus modifier value\n let modifierSymbol\n let modifierKey = defaultModifier\n const modifierAttr = {\n default: input.getAttribute('data-focus-modifier') || defaultModifier,\n linux: input.getAttribute('data-focus-modifier-linux'),\n mac: input.getAttribute('data-focus-modifier-mac'),\n windows: input.getAttribute('data-focus-modifier-win')\n }\n if (os && modifierAttr[os]) {\n // a specific modifier key has been set by the user\n modifierKey = modifierAttr[os]\n } else {\n modifierKey = modifierAttr.default\n }\n\n // validate passed in modifier\n const recognizedModifiers = ['ctrl', 'alt', 'opt', 'meta', 'cmd', defaultModifier]\n if (!recognizedModifiers.includes(modifierKey)) {\n console.error(`Received an unrecognized modifier, \"${modifierKey},\" defaulting to \"${defaultModifier}.\"`, input)\n modifierKey = defaultModifier\n }\n\n // retrieve modifier symbol\n if (['alt', 'opt'].includes(modifierKey)) {\n modifierSymbol = os === 'mac' ? '⌥' : '⎇'\n } else if (['meta', 'win', 'cmd'].includes(modifierKey) || (modifierKey === defaultModifier && os === 'mac')) {\n if (os === 'mac') {\n modifierSymbol = '⌘'\n } else if (os === 'linux') {\n modifierSymbol = '◆'\n } else {\n modifierSymbol = '⊞'\n }\n } else if (modifierKey === 'ctrl' || (modifierKey === defaultModifier && (os === 'windows' || os === 'linux'))) {\n if (os === 'mac') {\n modifierSymbol = '⌃'\n } else {\n modifierSymbol = 'Ctrl'\n }\n }\n\n // add the shortcut to the cached array, if not a duplicate\n if (keyboardShortcuts.some(shortcut => shortcut.key === focusKey && shortcut.modifier === modifierKey)) {\n console.error(`Duplicate keyboard shortcut \"${modifierKey} + ${focusKey}\" detected. Only the first input will be focusable using this keyboard shortcut.`, input)\n } else {\n keyboardShortcuts.push({\n key: focusKey,\n modifier: modifierKey,\n input,\n os,\n defaultModifier\n })\n }\n\n // set the shortcut indicator/title\n if (input.nodeName === 'TEXTAREA' || input.type === 'text' || input.type === 'number') {\n // create focus indicator for valid inputs\n const indicator = document.createElement('span')\n indicator.classList.add('focus-key')\n indicator.innerHTML = `<kbd>${modifierSymbol} ${focusKey.toUpperCase()}</kbd>`\n insertAfter(indicator, newLabel)\n } else {\n // update the input title\n if (input.getAttribute('title')) {\n input.setAttribute('title', input.getAttribute('title') + ` (${modifierSymbol} + ${focusKey})`)\n } else {\n input.setAttribute('title', `Focus with ${modifierSymbol} + ${focusKey}`)\n }\n }\n }\n\n // placed in a function so that it may exit while still completing other semantic-form enhancements\n handleKeyboardShortcut()\n }\n // #endregion\n\n // #region standard inputs\n // check for auto-grow attribute on textareas\n if (input.getAttribute('data-auto-grow') !== null) {\n // progressively enhance inputs into textareas\n if (input.nodeName === 'INPUT' && input.type === 'text') {\n const newInput = document.createElement('textarea')\n newInput.id = input.id\n newInput.class = input.class\n newInput.innerText = input.value\n newInput.setAttribute('data-auto-grow', '')\n input.replaceWith(newInput)\n input = newInput\n }\n\n if (input.nodeName === 'TEXTAREA') {\n // when pressing enter while this input is focused, we want to submit\n input.addEventListener('keypress', (e) => {\n if (e.key !== 'Enter' || (e.key === 'Enter' && e.shiftKey)) return\n e.preventDefault()\n form.requestSubmit()\n })\n }\n }\n\n if (type !== 'checkbox' && type !== 'radio') {\n if (!input.getAttribute('placeholder')) input.setAttribute('placeholder', ' ')\n\n const div = document.createElement('div')\n const dt = label.closest('dt')\n const dd = input.closest('dd')\n\n if (!dt) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that does not have a corresponding <dt> element.`)\n continue\n }\n if (!dd) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that does not have a corresponding <dd> element.`)\n continue\n }\n\n // #region input clear button\n if (input.nodeName !== 'SELECT' && type !== 'range') {\n const clearBtn = document.createElement('button')\n clearBtn.type = 'button'\n clearBtn.title = input.getAttribute('data-clear-field-text') || 'Clear field'\n clearBtn.ariaLabel = input.getAttribute('data-clear-field-text') || 'Clear field'\n clearBtn.tabIndex = -1\n clearBtn.innerHTML = '<svg viewBox=\"0 0 16 16\" width=\"18\" height=\"18\"><path d=\"M 1 1 L 15 15 M 1 15 L 15 1\" fill=\"none\" stroke-width=\"2\" stroke=\"currentColor\" />'\n clearBtn.classList.add('clear')\n clearBtn.id = `semanticFormsClearButton_${input.id}`\n clearBtn.addEventListener('click', () => {\n input.previousValue = input.value\n input.value = ''\n input.focus()\n lastClearFieldPressed = input.id\n\n // used for any other updates required by various inputs\n input.dispatchEvent(new Event('input', { bubbles: true }))\n })\n insertAfter(clearBtn, dd.querySelector('label'))\n }\n input.addEventListener('focus', event => {\n if (event.target.nodeName === 'INPUT') lastFocusedInput = event.target\n })\n // #endregion\n\n // check for colspan- utility class\n if (/colspan-/.test(dd.className)) {\n const match = dd.className.match(/colspan-([0-9]|full)/)[0]\n dd.classList.remove(match)\n div.classList.add(match)\n }\n\n // check for max-content attribute\n // this may be removed once fully supported in Firefox and Safari: https://caniuse.com/wf-field-sizing\n if (input.getAttribute('data-max-content') !== null) {\n if (!('fieldSizing' in document.createElement('input').style)) {\n const adjustWidth = () => {\n const value = input.value !== '' ? input.value : input.placeholder\n const width = value.length * 8 + 40\n input.style.width = width + 'px'\n input.style.maxWidth = '100%'\n div.style.width = width + 'px'\n }\n adjustWidth()\n input.addEventListener('input', adjustWidth)\n }\n }\n\n div.append(dt, dd)\n dl.append(div)\n\n // determine visibility of newly created <div>\n if (dt.style.display === 'none' && dd.style.display === 'none') div.style.display = 'none'\n }\n // #endregion\n\n // handle file input clear btn, cannot be handled with CSS\n if (type === 'file') {\n const clearBtn = input.parentElement.querySelector('.clear')\n input.addEventListener('input', event => {\n clearBtn.style.display = event.target.files.length ? 'flex' : 'none'\n })\n clearBtn.addEventListener('click', () => {\n clearBtn.style.display = 'none'\n })\n }\n\n // handle range inputs with a class to display the value\n if (type === 'range' && input.classList.contains('displayValue')) {\n const label = input.parentNode.parentNode.querySelector('dd label')\n label.innerHTML += `<span class=\"seperator\">: </span><output>${input.value}</output>`\n input.addEventListener('input', event => {\n const output = event.target.parentNode.parentNode.querySelector('output')\n output.innerHTML = event.target.value\n })\n }\n\n // #region show password button\n if (type === 'password' && input.getAttribute('data-no-reveal') === null) {\n const showBtn = document.createElement('button')\n showBtn.type = 'button'\n showBtn.title = input.getAttribute('data-show-password-text') || 'Show password'\n showBtn.ariaLabel = input.getAttribute('data-show-password-text') || 'Show password'\n showBtn.tabIndex = -1\n showBtn.innerHTML = passwordShow\n showBtn.classList.add('show')\n showBtn.id = `semanticFormsShowButton_${input.id}`\n const dd = input.closest('dd')\n if (!dd) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that is not inside a <dd> element.`)\n continue\n }\n showBtn.addEventListener('click', () => {\n if (input.type === 'password') {\n showBtn.innerHTML = passwordHide\n showBtn.title = input.getAttribute('data-hide-password-text') || 'Hide password'\n showBtn.ariaLabel = input.getAttribute('data-hide-password-text') || 'Hide password'\n input.type = 'text'\n } else {\n showBtn.innerHTML = passwordShow\n showBtn.title = input.getAttribute('data-show-password-text') || 'Show password'\n showBtn.ariaLabel = input.getAttribute('data-show-password-text') || 'Show password'\n input.type = 'password'\n }\n input.focus()\n })\n insertAfter(showBtn, dd.querySelector('label'))\n }\n // #endregion\n\n // add listener to shift clear button when scrollbar present\n if (input.nodeName === 'TEXTAREA') {\n if (input.getAttribute('data-disable-autosize') === null) {\n // add auto-sizing\n input.style.setProperty('resize', 'none')\n input.style.setProperty('min-height', '0')\n input.style.setProperty('max-height', 'none')\n input.style.setProperty('height', 'auto')\n\n const handleInput = () => {\n // reset rows attribute to get accurate scrollHeight\n let maxRows = input.getAttribute('data-max-rows')\n\n if (maxRows) {\n if (isNaN(maxRows) || Number(maxRows) <= 0) {\n console.warn(`An invalid value was passed to the \"data-max-rows\" attribute. This value will be ignored.\\n\\nProvided value: ${input.getAttribute('data-max-rows')}`)\n maxRows = null\n }\n }\n\n const minRows = input.getAttribute('data-max-rows') && Number(input.getAttribute('data-max-rows')) < 5 ? input.getAttribute('data-max-rows') : '5'\n input.setAttribute('rows', minRows)\n\n // get the computed values object reference\n const style = window.getComputedStyle(input)\n\n // force content-box for size accurate line-height calculation, remove scrollbars, lock width (subtract inline padding and inline border widths), and remove inline padding and borders to keep width consistent (for text wrapping accuracy)\n const inlinePadding = parseFloat(style['padding-left']) + parseFloat(style['padding-right'])\n const inlineBorderWidth = parseFloat(style['border-left-width']) + parseFloat(style['border-right-width'])\n input.style.setProperty('overflow', 'hidden', 'important')\n input.style.setProperty('width', (parseFloat(style.width) - inlinePadding - inlineBorderWidth) + 'px')\n input.style.setProperty('box-sizing', 'content-box')\n input.style.setProperty('padding-inline', '0')\n input.style.setProperty('border-width', '0')\n\n // get the base line height, and top / bottom padding\n const blockPadding = parseFloat(style['padding-top']) + parseFloat(style['padding-bottom'])\n const lineHeight = style['line-height'] === 'normal'\n ? parseFloat(style.height) // if line-height is not explicitly set, use the computed height value (ignore padding due to content-box)\n : parseFloat(style['line-height']) // otherwise (line-height is explicitly set), use the computed line-height value\n\n // get the scroll height (rounding to be safe to ensure cross browser consistency)\n const scrollHeight = Math.round(input.scrollHeight)\n\n // undo overflow, width, border-width, box-sizing & inline padding overrides\n input.style.removeProperty('width')\n input.style.removeProperty('box-sizing')\n input.style.removeProperty('padding-inline')\n input.style.removeProperty('border-width')\n input.style.removeProperty('overflow')\n\n // subtract blockPadding from scrollHeight and divide that by our lineHeight to get the row count, round to nearest integer as it will always be within ~.1 of the correct whole number\n const rows = Math.round((scrollHeight - blockPadding) / lineHeight)\n\n // set the calculated rows attribute (limited by rowLimit)\n if (maxRows) {\n input.setAttribute('rows', '' + Math.min(rows, Number(maxRows)))\n } else {\n input.setAttribute('rows', '' + rows)\n }\n }\n\n input.addEventListener('input', handleInput)\n\n // trigger the event to set the initial rows value\n input.dispatchEvent(new Event('input', { bubbles: true }))\n }\n\n // progressively enhance textarea for Firefox and Safari\n // this may be removed once fully supported in Firefox and Safari: https://caniuse.com/wf-field-sizing\n if (input.getAttribute('data-auto-grow') !== null) {\n const adjustHeight = () => {\n if (input.value.length) {\n input.style.height = input.scrollHeight + 'px'\n } else {\n input.style.height = window.getComputedStyle(form).getPropertyValue('--semanticFormsInputHeight')\n }\n }\n\n // set initial height to semantic-forms CSS variable\n input.style.height = window.getComputedStyle(form).getPropertyValue('--semanticFormsInputHeight')\n input.addEventListener('input', adjustHeight)\n }\n\n // shifts the clear button to the right if a scrollbar is present\n const shiftClearBtn = () => {\n const clearBtn = input.parentElement?.querySelector('button.clear')\n if (clearBtn) clearBtn.style.marginRight = input.clientHeight < input.scrollHeight ? '15px' : ''\n }\n input.addEventListener('input', shiftClearBtn)\n input.addEventListener('mouseup', shiftClearBtn)\n shiftClearBtn()\n }\n }\n }\n }\n\n /**\n * Places an element immediately after another element\n * @param {Object} newNode element being placed after the reference node\n * @param {*} referenceNode element to be used as reference for new node\n */\n function insertAfter (newNode, referenceNode) {\n if (referenceNode.nextSibling) referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling)\n else referenceNode.parentNode.appendChild(newNode)\n }\n\n /**\n * Uses the navigator to best determine the clients operating system.\n * @returns Operating system string (`mac`, `windows`, `linux`)\n */\n function getOS () {\n const userAgent = window.navigator.userAgent\n const platform = window.navigator.platform\n let os = null\n\n if (platform.includes('Win')) {\n os = 'windows'\n } else if (platform.includes('Mac') || /iPhone|iPad|iPod/.test(userAgent)) {\n os = 'mac'\n } else if (platform.includes('Linux') || /Android/.test(userAgent)) {\n os = 'linux'\n }\n return os\n }\n\n // handle undo/redo\n let lastFocusedInput\n let lastClearFieldPressed\n document.addEventListener('keydown', event => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'z' && !event.shiftKey) {\n // undo clearing a field\n if (lastFocusedInput) {\n if (lastFocusedInput?.parentNode?.querySelector('button.clear').id === `semanticFormsClearButton_${lastClearFieldPressed}` || lastFocusedInput?.parentNode?.querySelector('button.clear').name === `semanticFormsClearButton_${lastClearFieldPressed}`) {\n if (lastFocusedInput.previousValue) {\n lastFocusedInput.redoValue = lastFocusedInput.value\n lastFocusedInput.value = lastFocusedInput.previousValue\n }\n }\n }\n } else if ((event.ctrlKey && event.key === 'y') || (event.metaKey && event.shiftKey && event.key === 'z')) {\n // redo clearing a field\n if (lastFocusedInput) {\n if (lastFocusedInput?.parentNode?.querySelector('button.clear').id === `semanticFormsClearButton_${lastClearFieldPressed}` || lastFocusedInput?.parentNode?.querySelector('button.clear').name === `semanticFormsClearButton_${lastClearFieldPressed}`) {\n if (lastFocusedInput.redoValue) {\n lastFocusedInput.previousValue = lastFocusedInput.value\n lastFocusedInput.value = lastFocusedInput.redoValue\n }\n }\n }\n }\n })\n\n // monitor changes to the DOM and enhance new semanticForms forms that get added\n if (!window.semanticFormsObserver) {\n window.semanticFormsObserver = new window.MutationObserver(mutations => {\n let stop = false\n for (const mutation of mutations) {\n for (const node of mutation.addedNodes) {\n if (node.nodeName === 'FORM' || node?.querySelector?.('form')) {\n semanticForms()\n stop = true\n }\n }\n if (stop) break\n }\n })\n window.semanticFormsObserver.observe(document.body, { attributes: false, childList: true, characterData: false, subtree: true })\n }\n\n semanticForms.reinitialize = form => {\n form.classList.remove('semanticFormsActive')\n semanticForms()\n }\n}\n\nmodule.exports = semanticForms\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(90);\n"],"names":["root","factory","exports","module","define","amd","this","semanticForms","document","getElementsByClassName","querySelector","body","classList","window","MutationObserver","console","warn","passwordShow","passwordHide","helpTextIcon","nodeNameLookup","inputTypeLookup","keyboardShortcuts","addEventListener","e","specialCharMap","Minus","Equal","BracketLeft","BracketRight","Backslash","Semicolon","Quote","Comma","Period","Slash","Backquote","shiftSpecialCharMap","shortcut","find","matchesKey","altKey","shiftKey","key","toUpperCase","code","replace","matchesModifier","modifier","defaultModifier","os","ctrlKey","metaKey","preventDefault","input","focus","forms","querySelectorAll","form","add","contains","inputs","Array","from","id","type","getAttribute","includes","nodeName","dl","parentNode","label","error","newLabel","createElement","className","dd","firstChild","setAttribute","insertAfter","innerHTML","hasAttribute","text","append","parentElement","remove","div","closest","handleKeyboardShortcut","getOS","focusKey","length","toString","modifierSymbol","modifierKey","modifierAttr","default","linux","mac","windows","recognizedModifiers","some","push","indicator","newInput","class","innerText","value","replaceWith","requestSubmit","dt","clearBtn","title","ariaLabel","tabIndex","previousValue","lastClearFieldPressed","dispatchEvent","Event","bubbles","event","target","lastFocusedInput","test","match","style","adjustWidth","placeholder","width","maxWidth","display","files","output","showBtn","setProperty","handleInput","maxRows","isNaN","Number","minRows","getComputedStyle","inlinePadding","parseFloat","inlineBorderWidth","blockPadding","lineHeight","height","scrollHeight","Math","round","removeProperty","rows","min","adjustHeight","getPropertyValue","shiftClearBtn","marginRight","clientHeight","newNode","referenceNode","nextSibling","insertBefore","appendChild","userAgent","navigator","platform","name","redoValue","semanticFormsObserver","mutations","stop","mutation","node","addedNodes","observe","attributes","childList","characterData","subtree","reinitialize","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","__webpack_exports__"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"semantic-forms.js","mappings":"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","sources":["webpack://semanticForms/webpack/universalModuleDefinition","webpack://semanticForms/./semanticForms.js","webpack://semanticForms/webpack/bootstrap","webpack://semanticForms/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"semanticForms\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"semanticForms\"] = factory();\n\telse\n\t\troot[\"semanticForms\"] = factory();\n})(this, () => {\nreturn ","const semanticForms = () => {\n // do some feature detection so none of the JS executes if the browser is too old\n if (typeof document.getElementsByClassName !== 'function' || typeof document.querySelector !== 'function' || !document.body.classList || !window.MutationObserver) {\n console.warn('semantic-forms was loaded into an unsupported browser and will not execute.')\n return\n }\n\n const passwordShow = '<svg fill=\"none\" height=\"256\" viewBox=\"0 0 24 24\" width=\"256\" xmlns=\"http://www.w3.org/2000/svg\"><g stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m1 12s4-8 11-8 11 8 11 8\"/><path d=\"m1 12s4 8 11 8 11-8 11-8\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></g></svg>'\n const passwordHide = '<svg fill=\"none\" height=\"256\" viewBox=\"0 0 24 24\" width=\"256\" xmlns=\"http://www.w3.org/2000/svg\"><g stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m2 2 20 20\"/><path d=\"m6.71277 6.7226c-3.04798 2.07267-4.71277 5.2774-4.71277 5.2774s3.63636 7 10 7c2.0503 0 3.8174-.7266 5.2711-1.7116m-6.2711-12.23018c.3254-.03809.6588-.05822 1-.05822 6.3636 0 10 7 10 7s-.6918 1.3317-2 2.8335\"/><path d=\"m14 14.2362c-.5308.475-1.2316.7639-2 .7639-1.6569 0-3-1.3431-3-3 0-.8237.33193-1.5698.86932-2.11192\"/></g></svg>'\n const helpTextIcon = '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" style=\"overflow:visible;\"><rect width=\"16\" height=\"16\" fill=\"none\"/><path fill=\"currentColor\" d=\"M8,10.5c-0.552,0-1,0.448-1,1c0,0.552,0.448,1,1,1c0.552,0,1-0.448,1-1C9,10.948,8.552,10.5,8,10.5z M8,0 C3.582,0,0,3.582,0,8c0,4.418,3.582,8,8,8s8-3.582,8-8C16,3.582,12.418,0,8,0z M12.243,12.243C11.109,13.376,9.603,14,8,14 s-3.109-0.624-4.243-1.757C2.624,11.109,2,9.603,2,8s0.624-3.109,1.757-4.243C4.891,2.624,6.397,2,8,2s3.109,0.624,4.243,1.757 C13.376,4.891,14,6.397,14,8C14,9.603,13.376,11.109,12.243,12.243z M7.927,3.755c-2.248,0-2.76,1.695-2.802,2.906h1.571 c0.028-0.256,0.101-1.418,1.221-1.418c0.672,0,1.206,0.406,1.206,1.175c0,0.695-0.724,1.155-1.303,1.711 C7.241,8.685,7.168,9.325,7.168,9.824V10c0.146,0,1.615,0,1.615,0V9.824c0-1.256,1.967-1.594,1.967-3.541 C10.75,5.059,9.874,3.755,7.927,3.755z\"/></svg>'\n\n const nodeNameLookup = ['TEXTAREA', 'SELECT']\n const inputTypeLookup = ['checkbox', 'color', 'date', 'datetime-local', 'email', 'file', 'image', 'month', 'number', 'password', 'radio', 'range', 'search', 'tel', 'text', 'time', 'url', 'week']\n const keyboardShortcuts = []\n\n // custom keyboard shortcut listener\n document.addEventListener('keydown', (e) => {\n const specialCharMap = {\n Minus: '-',\n Equal: '=',\n BracketLeft: '[',\n BracketRight: ']',\n Backslash: '\\\\',\n Semicolon: ';',\n Quote: '\\'',\n Comma: ',',\n Period: '.',\n Slash: '/',\n Backquote: '`'\n }\n\n const shiftSpecialCharMap = {\n 1: '!',\n 2: '@',\n 3: '#',\n 4: '$',\n 5: '%',\n 6: '^',\n 7: '&',\n 8: '*',\n 9: '(',\n 0: ')',\n Minus: '_',\n Equal: '+',\n BracketLeft: '{',\n BracketRight: '}',\n Backslash: '|',\n Semicolon: ':',\n Quote: '\"',\n Comma: '<',\n Period: '>',\n Slash: '?',\n Backquote: '~'\n }\n\n const shortcut = keyboardShortcuts.find(shortcut => {\n let matchesKey = false\n if (e.altKey && !e.shiftKey) {\n // mac adjusts the key value if altKey is pressed\n matchesKey = 'Key' + shortcut.key.toUpperCase() === e.code ||\n 'Digit' + shortcut.key.toUpperCase() === e.code ||\n shortcut.key === e.key ||\n specialCharMap[e.code] === shortcut.key\n } else if (e.shiftKey) {\n // check shift special character map\n const code = e.code.replace(/Key|Digit/, '')\n matchesKey = (shiftSpecialCharMap[code] || shiftSpecialCharMap[e.key]) &&\n (shiftSpecialCharMap[code] === shortcut.key || shiftSpecialCharMap[e.key] === shortcut.key)\n } else {\n matchesKey = shortcut.key.toUpperCase() === e.key.toUpperCase()\n }\n if (!matchesKey) return false\n\n let matchesModifier\n if (shortcut.modifier) {\n if (shortcut.modifier === shortcut.defaultModifier) matchesModifier = shortcut.os === 'windows' || shortcut.os === 'linux' ? e.ctrlKey : e.metaKey\n if (shortcut.modifier === 'meta') matchesModifier = e.metaKey\n if (shortcut.modifier === 'alt') matchesModifier = e.altKey\n if (shortcut.modifier === 'ctrl') matchesModifier = e.ctrlKey\n }\n return matchesModifier\n })\n\n if (shortcut) {\n e.preventDefault()\n shortcut.input.focus()\n }\n })\n\n // progressively enhance form elements that have the semanticForms class\n const forms = document.querySelectorAll('form.semanticForms:not(.semanticFormsActive), table.semanticForms:not(.semanticFormsActive)')\n\n for (const form of forms) {\n form.classList.add('semanticFormsActive')\n if (form.classList.contains('lowFlow')) continue\n\n // update each input in the semantic form\n const inputs = Array.from(form.querySelectorAll('input, textarea, select'))\n for (let input of inputs) {\n // ignore input if it has previously been formatted\n if (input.classList.contains('semanticform') || !input.id) continue\n\n const type = input.getAttribute('type')\n if (nodeNameLookup.includes(input.nodeName) || inputTypeLookup.includes(type)) {\n // recursively find <dl> element\n let dl = input.parentNode\n while (dl && dl.nodeName !== 'DL') dl = dl.parentNode\n\n if (!dl) continue\n if (!dl.classList.contains('floatLabelForm')) dl.classList.add('floatLabelForm')\n\n const label = input.parentNode.parentNode.id && (type === 'checkbox' || type === 'radio')\n ? document.querySelector('label[data-for=' + input.parentNode.parentNode.id.replace(/\\./g, '\\\\.') + ']')\n : document.querySelector('label[for=' + input.id.replace(/\\./g, '\\\\.') + ']')\n\n if (!label) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) without a properly associated label. Make sure there is a label for it and the label has a matching \"for\" attribute.`)\n }\n\n input.classList.add('semanticform')\n\n // #region create labels\n\n const newLabel = document.createElement('label')\n newLabel.className = 'floatLabelFormAnimatedLabel'\n\n if (type === 'checkbox' || type === 'radio') {\n // recursively find <dd> element\n let dd = input.parentNode\n while (dd && dd.nodeName !== 'DD') dd = dd.parentNode\n\n if (!dd) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that is not inside a <dd> element.`)\n continue\n }\n\n if (dd.firstChild.nodeName !== 'LABEL') {\n if (type === 'checkbox' && input.parentNode.nodeName === 'DD') {\n newLabel.setAttribute('for', input.id)\n input.parentNode.classList.add('singleCheckbox')\n newLabel.className = ''\n label.setAttribute('hidden', 'hidden')\n insertAfter(newLabel, input)\n }\n\n if (type === 'radio' && input.parentNode.nodeName === 'DD') {\n newLabel.setAttribute('for', input.id)\n input.parentNode.classList.add('singleRadio')\n newLabel.className = ''\n label.setAttribute('hidden', 'hidden')\n insertAfter(newLabel, input)\n }\n\n newLabel.innerHTML = label.innerHTML\n\n if (label.hasAttribute('title') && label.getAttribute('data-show-help-icon') !== null && !label.querySelector('span.help')) {\n const text = label.getAttribute('title')\n label.innerHTML += ` <span title=\"${text}\" class=\"help\">${helpTextIcon}</span>`\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"help\">${helpTextIcon}</span>`\n }\n\n if (dd.querySelector(':required') && label.getAttribute('data-no-asterisk') === null && !label.querySelector('span.required')) {\n const text = label.getAttribute('data-asterisk-text') || 'This field is required.'\n label.innerHTML += ` <span title=\"${text}\" class=\"required\">*</span>`\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"required\">*</span>`\n }\n\n if (!dd.querySelector('label')) dd.append(newLabel)\n }\n\n // removes old div that a radio or checkbox may have been added to\n if (dd.parentElement.nodeName === 'DIV') dd.parentElement.remove()\n\n const div = document.createElement('div')\n div.append(label.closest('dt'), dd)\n dl.append(div)\n } else {\n newLabel.setAttribute('for', input.id)\n newLabel.innerHTML = label.innerHTML\n\n if (input.hasAttribute('title') && label.getAttribute('data-show-help-icon') !== null && !label.querySelector('span.help')) {\n const text = input.getAttribute('title')\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"help\">${helpTextIcon}</span>`\n }\n\n if (input.hasAttribute('required') && label.getAttribute('data-no-asterisk') === null && !label.querySelector('span.required')) {\n const text = label.getAttribute('data-asterisk-text') || 'This field is required.'\n newLabel.innerHTML += ` <span title=\"${text}\" class=\"required\">*</span>`\n }\n\n label.setAttribute('hidden', 'hidden')\n\n insertAfter(newLabel, input)\n }\n // #endregion\n\n // #region keyboard shortcuts\n if (input.getAttribute('data-focus-key') !== null) {\n function handleKeyboardShortcut () {\n const os = getOS()\n // this is the custom keyword for meta on linux/mac, ctrl on windows\n const defaultModifier = 'metactrl'\n\n // get focus key value\n let focusKey = input.getAttribute('data-focus-key')\n if (focusKey.length > 1) {\n console.error(`Provided focus key \"${focusKey}\" is more than one character. Using first character only.`)\n focusKey = focusKey.toString()[0]\n }\n\n // get focus modifier value\n let modifierSymbol\n let modifierKey = defaultModifier\n const modifierAttr = {\n default: input.getAttribute('data-focus-modifier') || defaultModifier,\n linux: input.getAttribute('data-focus-modifier-linux'),\n mac: input.getAttribute('data-focus-modifier-mac'),\n windows: input.getAttribute('data-focus-modifier-win')\n }\n if (os && modifierAttr[os]) {\n // a specific modifier key has been set by the user\n modifierKey = modifierAttr[os]\n } else {\n modifierKey = modifierAttr.default\n }\n\n // validate passed in modifier\n const recognizedModifiers = ['ctrl', 'alt', 'opt', 'meta', 'cmd', defaultModifier]\n if (!recognizedModifiers.includes(modifierKey)) {\n console.error(`Received an unrecognized modifier, \"${modifierKey},\" defaulting to \"${defaultModifier}.\"`, input)\n modifierKey = defaultModifier\n }\n\n // retrieve modifier symbol\n if (['alt', 'opt'].includes(modifierKey)) {\n modifierSymbol = os === 'mac' ? '⌥' : '⎇'\n } else if (['meta', 'win', 'cmd'].includes(modifierKey) || (modifierKey === defaultModifier && os === 'mac')) {\n if (os === 'mac') {\n modifierSymbol = '⌘'\n } else if (os === 'linux') {\n modifierSymbol = '◆'\n } else {\n modifierSymbol = '⊞'\n }\n } else if (modifierKey === 'ctrl' || (modifierKey === defaultModifier && (os === 'windows' || os === 'linux'))) {\n if (os === 'mac') {\n modifierSymbol = '⌃'\n } else {\n modifierSymbol = 'Ctrl'\n }\n }\n\n // add the shortcut to the cached array, if not a duplicate\n if (keyboardShortcuts.some(shortcut => shortcut.key === focusKey && shortcut.modifier === modifierKey)) {\n console.error(`Duplicate keyboard shortcut \"${modifierKey} + ${focusKey}\" detected. Only the first input will be focusable using this keyboard shortcut.`, input)\n } else {\n keyboardShortcuts.push({\n key: focusKey,\n modifier: modifierKey,\n input,\n os,\n defaultModifier\n })\n }\n\n // set the shortcut indicator/title\n if (input.nodeName === 'TEXTAREA' || input.type === 'text' || input.type === 'number') {\n // create focus indicator for valid inputs\n const indicator = document.createElement('span')\n indicator.classList.add('focus-key')\n indicator.innerHTML = `<kbd>${modifierSymbol} ${focusKey.toUpperCase()}</kbd>`\n insertAfter(indicator, newLabel)\n } else {\n // update the input title\n if (input.getAttribute('title')) {\n input.setAttribute('title', input.getAttribute('title') + ` (${modifierSymbol} + ${focusKey})`)\n } else {\n input.setAttribute('title', `Focus with ${modifierSymbol} + ${focusKey}`)\n }\n }\n }\n\n // placed in a function so that it may exit while still completing other semantic-form enhancements\n handleKeyboardShortcut()\n }\n // #endregion\n\n // #region standard inputs\n // check for auto-grow attribute on textareas\n if (input.getAttribute('data-auto-grow') !== null) {\n // progressively enhance inputs into textareas\n if (input.nodeName === 'INPUT' && input.type === 'text') {\n const newInput = document.createElement('textarea')\n newInput.id = input.id\n newInput.class = input.class\n newInput.innerText = input.value\n newInput.setAttribute('data-auto-grow', '')\n input.replaceWith(newInput)\n input = newInput\n }\n\n if (input.nodeName === 'TEXTAREA') {\n // when pressing enter while this input is focused, we want to submit\n input.addEventListener('keypress', (e) => {\n if (e.key !== 'Enter' || (e.key === 'Enter' && e.shiftKey)) return\n e.preventDefault()\n form.requestSubmit()\n })\n }\n }\n\n if (type !== 'checkbox' && type !== 'radio') {\n if (!input.getAttribute('placeholder')) input.setAttribute('placeholder', ' ')\n\n const div = document.createElement('div')\n const dt = label.closest('dt')\n const dd = input.closest('dd')\n\n if (!dt) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that does not have a corresponding <dt> element.`)\n continue\n }\n if (!dd) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that does not have a corresponding <dd> element.`)\n continue\n }\n\n // #region input clear button\n if (input.nodeName !== 'SELECT' && type !== 'range') {\n const clearBtn = document.createElement('button')\n clearBtn.type = 'button'\n clearBtn.title = input.getAttribute('data-clear-field-text') || 'Clear field'\n clearBtn.ariaLabel = input.getAttribute('data-clear-field-text') || 'Clear field'\n clearBtn.tabIndex = -1\n clearBtn.innerHTML = '<svg viewBox=\"0 0 16 16\" width=\"18\" height=\"18\"><path d=\"M 1 1 L 15 15 M 1 15 L 15 1\" fill=\"none\" stroke-width=\"2\" stroke=\"currentColor\" />'\n clearBtn.classList.add('clear')\n clearBtn.id = `semanticFormsClearButton_${input.id}`\n clearBtn.addEventListener('click', () => {\n input.previousValue = input.value\n input.value = ''\n input.focus()\n lastClearFieldPressed = input.id\n\n // used for any other updates required by various inputs\n input.dispatchEvent(new Event('input', { bubbles: true }))\n })\n insertAfter(clearBtn, dd.querySelector('label'))\n }\n input.addEventListener('focus', event => {\n if (event.target.nodeName === 'INPUT') lastFocusedInput = event.target\n })\n // #endregion\n\n // check for colspan- utility class\n if (/colspan-/.test(dd.className)) {\n const match = dd.className.match(/colspan-([0-9]|full)/)[0]\n dd.classList.remove(match)\n div.classList.add(match)\n }\n\n // check for max-content attribute\n // this may be removed once fully supported in Firefox and Safari: https://caniuse.com/wf-field-sizing\n if (input.getAttribute('data-max-content') !== null) {\n if (!('fieldSizing' in document.createElement('input').style)) {\n const adjustWidth = () => {\n const value = input.value !== '' ? input.value : input.placeholder\n const width = value.length * 8 + 40\n input.style.width = width + 'px'\n input.style.maxWidth = '100%'\n div.style.width = width + 'px'\n }\n adjustWidth()\n input.addEventListener('input', adjustWidth)\n }\n }\n\n div.append(dt, dd)\n dl.append(div)\n\n // determine visibility of newly created <div>\n if (dt.style.display === 'none' && dd.style.display === 'none') div.style.display = 'none'\n }\n // #endregion\n\n // handle file input clear btn, cannot be handled with CSS\n if (type === 'file') {\n const clearBtn = input.parentElement.querySelector('.clear')\n input.addEventListener('input', event => {\n clearBtn.style.display = event.target.files.length ? 'flex' : 'none'\n })\n clearBtn.addEventListener('click', () => {\n clearBtn.style.display = 'none'\n })\n }\n\n // handle range inputs with a class to display the value\n if (type === 'range' && input.classList.contains('displayValue')) {\n const label = input.parentNode.parentNode.querySelector('dd label')\n label.innerHTML += `<span class=\"seperator\">: </span><output>${input.value}</output>`\n input.addEventListener('input', event => {\n const output = event.target.parentNode.parentNode.querySelector('output')\n output.innerHTML = event.target.value\n })\n }\n\n // #region show password button\n if (type === 'password' && input.getAttribute('data-no-reveal') === null) {\n const showBtn = document.createElement('button')\n showBtn.type = 'button'\n showBtn.title = input.getAttribute('data-show-password-text') || 'Show password'\n showBtn.ariaLabel = input.getAttribute('data-show-password-text') || 'Show password'\n showBtn.tabIndex = -1\n showBtn.innerHTML = passwordShow\n showBtn.classList.add('show')\n showBtn.id = `semanticFormsShowButton_${input.id}`\n const dd = input.closest('dd')\n if (!dd) {\n console.error(`semantic-forms: Found an input (${input.id || input.getAttribute('name')}) that is not inside a <dd> element.`)\n continue\n }\n showBtn.addEventListener('click', () => {\n if (input.type === 'password') {\n showBtn.innerHTML = passwordHide\n showBtn.title = input.getAttribute('data-hide-password-text') || 'Hide password'\n showBtn.ariaLabel = input.getAttribute('data-hide-password-text') || 'Hide password'\n input.type = 'text'\n } else {\n showBtn.innerHTML = passwordShow\n showBtn.title = input.getAttribute('data-show-password-text') || 'Show password'\n showBtn.ariaLabel = input.getAttribute('data-show-password-text') || 'Show password'\n input.type = 'password'\n }\n input.focus()\n })\n insertAfter(showBtn, dd.querySelector('label'))\n }\n // #endregion\n\n // add listener to shift clear button when scrollbar present\n if (input.nodeName === 'TEXTAREA') {\n if (input.getAttribute('data-disable-autosize') === null) {\n // add auto-sizing\n input.style.setProperty('resize', 'none')\n input.style.setProperty('min-height', '0')\n input.style.setProperty('max-height', 'none')\n input.style.setProperty('height', 'auto')\n\n const handleInput = () => {\n // reset rows attribute to get accurate scrollHeight\n let maxRows = input.getAttribute('data-max-rows')\n\n if (maxRows) {\n if (isNaN(maxRows) || Number(maxRows) <= 0) {\n console.warn(`An invalid value was passed to the \"data-max-rows\" attribute. This value will be ignored.\\n\\nProvided value: ${input.getAttribute('data-max-rows')}`)\n maxRows = null\n }\n }\n\n const minRows = input.getAttribute('data-max-rows') && Number(input.getAttribute('data-max-rows')) < 5 ? input.getAttribute('data-max-rows') : '5'\n input.setAttribute('rows', minRows)\n\n // get the computed values object reference\n const style = window.getComputedStyle(input)\n\n // force content-box for size accurate line-height calculation, remove scrollbars, lock width (subtract inline padding and inline border widths), and remove inline padding and borders to keep width consistent (for text wrapping accuracy)\n const inlinePadding = parseFloat(style['padding-left']) + parseFloat(style['padding-right'])\n const inlineBorderWidth = parseFloat(style['border-left-width']) + parseFloat(style['border-right-width'])\n input.style.setProperty('overflow', 'hidden', 'important')\n input.style.setProperty('width', (parseFloat(style.width) - inlinePadding - inlineBorderWidth) + 'px')\n input.style.setProperty('box-sizing', 'content-box')\n input.style.setProperty('padding-inline', '0')\n input.style.setProperty('border-width', '0')\n\n // get the base line height, and top / bottom padding\n const blockPadding = parseFloat(style['padding-top']) + parseFloat(style['padding-bottom'])\n const lineHeight = style['line-height'] === 'normal'\n ? parseFloat(style.height) // if line-height is not explicitly set, use the computed height value (ignore padding due to content-box)\n : parseFloat(style['line-height']) // otherwise (line-height is explicitly set), use the computed line-height value\n\n // get the scroll height (rounding to be safe to ensure cross browser consistency)\n const scrollHeight = Math.round(input.scrollHeight)\n\n // undo overflow, width, border-width, box-sizing & inline padding overrides\n input.style.removeProperty('width')\n input.style.removeProperty('box-sizing')\n input.style.removeProperty('padding-inline')\n input.style.removeProperty('border-width')\n input.style.removeProperty('overflow')\n\n // subtract blockPadding from scrollHeight and divide that by our lineHeight to get the row count, round to nearest integer as it will always be within ~.1 of the correct whole number\n const rows = Math.round((scrollHeight - blockPadding) / lineHeight)\n\n // set the calculated rows attribute (limited by rowLimit)\n if (maxRows) {\n input.setAttribute('rows', '' + Math.min(rows, Number(maxRows)))\n } else {\n input.setAttribute('rows', '' + rows)\n }\n }\n\n input.addEventListener('input', handleInput)\n\n // trigger the event to set the initial rows value\n input.dispatchEvent(new Event('input', { bubbles: true }))\n }\n\n // progressively enhance textarea for Firefox and Safari\n // this may be removed once fully supported in Firefox and Safari: https://caniuse.com/wf-field-sizing\n if (input.getAttribute('data-auto-grow') !== null) {\n const adjustHeight = () => {\n if (input.value.length) {\n const borderWidth = parseInt(window.getComputedStyle(input).getPropertyValue('border-width'))\n input.style.height = (input.scrollHeight + (borderWidth * 2)) + 'px'\n } else {\n input.style.height = window.getComputedStyle(form).getPropertyValue('--semanticFormsInputHeight')\n }\n }\n\n // set initial height to semantic-forms CSS variable\n input.style.height = window.getComputedStyle(form).getPropertyValue('--semanticFormsInputHeight')\n input.addEventListener('input', adjustHeight)\n }\n\n // shifts the clear button to the right if a scrollbar is present\n const shiftClearBtn = () => {\n const clearBtn = input.parentElement?.querySelector('button.clear')\n if (clearBtn) clearBtn.style.marginRight = input.clientHeight < input.scrollHeight ? '15px' : ''\n }\n input.addEventListener('input', shiftClearBtn)\n input.addEventListener('mouseup', shiftClearBtn)\n shiftClearBtn()\n }\n }\n }\n }\n\n /**\n * Places an element immediately after another element\n * @param {Object} newNode element being placed after the reference node\n * @param {*} referenceNode element to be used as reference for new node\n */\n function insertAfter (newNode, referenceNode) {\n if (referenceNode.nextSibling) referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling)\n else referenceNode.parentNode.appendChild(newNode)\n }\n\n /**\n * Uses the navigator to best determine the clients operating system.\n * @returns Operating system string (`mac`, `windows`, `linux`)\n */\n function getOS () {\n const userAgent = window.navigator.userAgent\n const platform = window.navigator.platform\n let os = null\n\n if (platform.includes('Win')) {\n os = 'windows'\n } else if (platform.includes('Mac') || /iPhone|iPad|iPod/.test(userAgent)) {\n os = 'mac'\n } else if (platform.includes('Linux') || /Android/.test(userAgent)) {\n os = 'linux'\n }\n return os\n }\n\n // handle undo/redo\n let lastFocusedInput\n let lastClearFieldPressed\n document.addEventListener('keydown', event => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'z' && !event.shiftKey) {\n // undo clearing a field\n if (lastFocusedInput) {\n if (lastFocusedInput?.parentNode?.querySelector('button.clear').id === `semanticFormsClearButton_${lastClearFieldPressed}` || lastFocusedInput?.parentNode?.querySelector('button.clear').name === `semanticFormsClearButton_${lastClearFieldPressed}`) {\n if (lastFocusedInput.previousValue) {\n lastFocusedInput.redoValue = lastFocusedInput.value\n lastFocusedInput.value = lastFocusedInput.previousValue\n }\n }\n }\n } else if ((event.ctrlKey && event.key === 'y') || (event.metaKey && event.shiftKey && event.key === 'z')) {\n // redo clearing a field\n if (lastFocusedInput) {\n if (lastFocusedInput?.parentNode?.querySelector('button.clear').id === `semanticFormsClearButton_${lastClearFieldPressed}` || lastFocusedInput?.parentNode?.querySelector('button.clear').name === `semanticFormsClearButton_${lastClearFieldPressed}`) {\n if (lastFocusedInput.redoValue) {\n lastFocusedInput.previousValue = lastFocusedInput.value\n lastFocusedInput.value = lastFocusedInput.redoValue\n }\n }\n }\n }\n })\n\n // monitor changes to the DOM and enhance new semanticForms forms that get added\n if (!window.semanticFormsObserver) {\n window.semanticFormsObserver = new window.MutationObserver(mutations => {\n let stop = false\n for (const mutation of mutations) {\n for (const node of mutation.addedNodes) {\n if (node.nodeName === 'FORM' || node?.querySelector?.('form')) {\n semanticForms()\n stop = true\n }\n }\n if (stop) break\n }\n })\n window.semanticFormsObserver.observe(document.body, { attributes: false, childList: true, characterData: false, subtree: true })\n }\n\n semanticForms.reinitialize = form => {\n form.classList.remove('semanticFormsActive')\n semanticForms()\n }\n}\n\nmodule.exports = semanticForms\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(90);\n"],"names":["root","factory","exports","module","define","amd","this","semanticForms","document","getElementsByClassName","querySelector","body","classList","window","MutationObserver","console","warn","passwordShow","passwordHide","helpTextIcon","nodeNameLookup","inputTypeLookup","keyboardShortcuts","addEventListener","e","specialCharMap","Minus","Equal","BracketLeft","BracketRight","Backslash","Semicolon","Quote","Comma","Period","Slash","Backquote","shiftSpecialCharMap","shortcut","find","matchesKey","altKey","shiftKey","key","toUpperCase","code","replace","matchesModifier","modifier","defaultModifier","os","ctrlKey","metaKey","preventDefault","input","focus","forms","querySelectorAll","form","add","contains","inputs","Array","from","id","type","getAttribute","includes","nodeName","dl","parentNode","label","error","newLabel","createElement","className","dd","firstChild","setAttribute","insertAfter","innerHTML","hasAttribute","text","append","parentElement","remove","div","closest","handleKeyboardShortcut","getOS","focusKey","length","toString","modifierSymbol","modifierKey","modifierAttr","default","linux","mac","windows","recognizedModifiers","some","push","indicator","newInput","class","innerText","value","replaceWith","requestSubmit","dt","clearBtn","title","ariaLabel","tabIndex","previousValue","lastClearFieldPressed","dispatchEvent","Event","bubbles","event","target","lastFocusedInput","test","match","style","adjustWidth","placeholder","width","maxWidth","display","files","output","showBtn","setProperty","handleInput","maxRows","isNaN","Number","minRows","getComputedStyle","inlinePadding","parseFloat","inlineBorderWidth","blockPadding","lineHeight","height","scrollHeight","Math","round","removeProperty","rows","min","adjustHeight","borderWidth","parseInt","getPropertyValue","shiftClearBtn","marginRight","clientHeight","newNode","referenceNode","nextSibling","insertBefore","appendChild","userAgent","navigator","platform","name","redoValue","semanticFormsObserver","mutations","stop","mutation","node","addedNodes","observe","attributes","childList","characterData","subtree","reinitialize","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","__webpack_exports__"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("semanticForms",[],t):"object"==typeof exports?exports.semanticForms=t():e.semanticForms=t()}(this,()=>{return e={90:e=>{const t=()=>{if("function"!=typeof document.getElementsByClassName||"function"!=typeof document.querySelector||!document.body.classList||!window.MutationObserver)return void console.warn("semantic-forms was loaded into an unsupported browser and will not execute.");const e='<svg fill="none" height="256" viewBox="0 0 24 24" width="256" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m1 12s4-8 11-8 11 8 11 8"/><path d="m1 12s4 8 11 8 11-8 11-8"/><circle cx="12" cy="12" r="3"/></g></svg>',r='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16" version="1.1" style="overflow:visible;"><rect width="16" height="16" fill="none"/><path fill="currentColor" d="M8,10.5c-0.552,0-1,0.448-1,1c0,0.552,0.448,1,1,1c0.552,0,1-0.448,1-1C9,10.948,8.552,10.5,8,10.5z M8,0 C3.582,0,0,3.582,0,8c0,4.418,3.582,8,8,8s8-3.582,8-8C16,3.582,12.418,0,8,0z M12.243,12.243C11.109,13.376,9.603,14,8,14 s-3.109-0.624-4.243-1.757C2.624,11.109,2,9.603,2,8s0.624-3.109,1.757-4.243C4.891,2.624,6.397,2,8,2s3.109,0.624,4.243,1.757 C13.376,4.891,14,6.397,14,8C14,9.603,13.376,11.109,12.243,12.243z M7.927,3.755c-2.248,0-2.76,1.695-2.802,2.906h1.571 c0.028-0.256,0.101-1.418,1.221-1.418c0.672,0,1.206,0.406,1.206,1.175c0,0.695-0.724,1.155-1.303,1.711 C7.241,8.685,7.168,9.325,7.168,9.824V10c0.146,0,1.615,0,1.615,0V9.824c0-1.256,1.967-1.594,1.967-3.541 C10.75,5.059,9.874,3.755,7.927,3.755z"/></svg>',o=["TEXTAREA","SELECT"],i=["checkbox","color","date","datetime-local","email","file","image","month","number","password","radio","range","search","tel","text","time","url","week"],n=[];document.addEventListener("keydown",e=>{const t={Minus:"-",Equal:"=",BracketLeft:"[",BracketRight:"]",Backslash:"\\",Semicolon:";",Quote:"'",Comma:",",Period:".",Slash:"/",Backquote:"`"},r={1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")",Minus:"_",Equal:"+",BracketLeft:"{",BracketRight:"}",Backslash:"|",Semicolon:":",Quote:'"',Comma:"<",Period:">",Slash:"?",Backquote:"~"},o=n.find(o=>{let i,n=!1;if(e.altKey&&!e.shiftKey)n="Key"+o.key.toUpperCase()===e.code||"Digit"+o.key.toUpperCase()===e.code||o.key===e.key||t[e.code]===o.key;else if(e.shiftKey){const t=e.code.replace(/Key|Digit/,"");n=(r[t]||r[e.key])&&(r[t]===o.key||r[e.key]===o.key)}else n=o.key.toUpperCase()===e.key.toUpperCase();return!!n&&(o.modifier&&(o.modifier===o.defaultModifier&&(i="windows"===o.os||"linux"===o.os?e.ctrlKey:e.metaKey),"meta"===o.modifier&&(i=e.metaKey),"alt"===o.modifier&&(i=e.altKey),"ctrl"===o.modifier&&(i=e.ctrlKey)),i)});o&&(e.preventDefault(),o.input.focus())});const a=document.querySelectorAll("form.semanticForms:not(.semanticFormsActive), table.semanticForms:not(.semanticFormsActive)");for(const p of a){if(p.classList.add("semanticFormsActive"),p.classList.contains("lowFlow"))continue;const m=Array.from(p.querySelectorAll("input, textarea, select"));for(let h of m){if(h.classList.contains("semanticform")||!h.id)continue;const f=h.getAttribute("type");if(o.includes(h.nodeName)||i.includes(f)){let y=h.parentNode;for(;y&&"DL"!==y.nodeName;)y=y.parentNode;if(!y)continue;y.classList.contains("floatLabelForm")||y.classList.add("floatLabelForm");const b=!h.parentNode.parentNode.id||"checkbox"!==f&&"radio"!==f?document.querySelector("label[for="+h.id.replace(/\./g,"\\.")+"]"):document.querySelector("label[data-for="+h.parentNode.parentNode.id.replace(/\./g,"\\.")+"]");b||console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) without a properly associated label. Make sure there is a label for it and the label has a matching "for" attribute.`),h.classList.add("semanticform");const g=document.createElement("label");if(g.className="floatLabelFormAnimatedLabel","checkbox"===f||"radio"===f){let w=h.parentNode;for(;w&&"DD"!==w.nodeName;)w=w.parentNode;if(!w){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that is not inside a <dd> element.`);continue}if("LABEL"!==w.firstChild.nodeName){if("checkbox"===f&&"DD"===h.parentNode.nodeName&&(g.setAttribute("for",h.id),h.parentNode.classList.add("singleCheckbox"),g.className="",b.setAttribute("hidden","hidden"),l(g,h)),"radio"===f&&"DD"===h.parentNode.nodeName&&(g.setAttribute("for",h.id),h.parentNode.classList.add("singleRadio"),g.className="",b.setAttribute("hidden","hidden"),l(g,h)),g.innerHTML=b.innerHTML,b.hasAttribute("title")&&null!==b.getAttribute("data-show-help-icon")&&!b.querySelector("span.help")){const A=b.getAttribute("title");b.innerHTML+=` <span title="${A}" class="help">${r}</span>`,g.innerHTML+=` <span title="${A}" class="help">${r}</span>`}if(w.querySelector(":required")&&null===b.getAttribute("data-no-asterisk")&&!b.querySelector("span.required")){const x=b.getAttribute("data-asterisk-text")||"This field is required.";b.innerHTML+=` <span title="${x}" class="required">*</span>`,g.innerHTML+=` <span title="${x}" class="required">*</span>`}w.querySelector("label")||w.append(g)}"DIV"===w.parentElement.nodeName&&w.parentElement.remove();const v=document.createElement("div");v.append(b.closest("dt"),w),y.append(v)}else{if(g.setAttribute("for",h.id),g.innerHTML=b.innerHTML,h.hasAttribute("title")&&null!==b.getAttribute("data-show-help-icon")&&!b.querySelector("span.help")){const L=h.getAttribute("title");g.innerHTML+=` <span title="${L}" class="help">${r}</span>`}if(h.hasAttribute("required")&&null===b.getAttribute("data-no-asterisk")&&!b.querySelector("span.required")){const k=b.getAttribute("data-asterisk-text")||"This field is required.";g.innerHTML+=` <span title="${k}" class="required">*</span>`}b.setAttribute("hidden","hidden"),l(g,h)}if(null!==h.getAttribute("data-focus-key")){function s(){const e=d(),t="metactrl";let r,o=h.getAttribute("data-focus-key");o.length>1&&(console.error(`Provided focus key "${o}" is more than one character. Using first character only.`),o=o.toString()[0]);let i=t;const a={default:h.getAttribute("data-focus-modifier")||t,linux:h.getAttribute("data-focus-modifier-linux"),mac:h.getAttribute("data-focus-modifier-mac"),windows:h.getAttribute("data-focus-modifier-win")};if(i=e&&a[e]?a[e]:a.default,["ctrl","alt","opt","meta","cmd",t].includes(i)||(console.error(`Received an unrecognized modifier, "${i}," defaulting to "${t}."`,h),i=t),["alt","opt"].includes(i)?r="mac"===e?"⌥":"⎇":["meta","win","cmd"].includes(i)||i===t&&"mac"===e?r="mac"===e?"⌘":"linux"===e?"◆":"⊞":"ctrl"!==i&&(i!==t||"windows"!==e&&"linux"!==e)||(r="mac"===e?"⌃":"Ctrl"),n.some(e=>e.key===o&&e.modifier===i)?console.error(`Duplicate keyboard shortcut "${i} + ${o}" detected. Only the first input will be focusable using this keyboard shortcut.`,h):n.push({key:o,modifier:i,input:h,os:e,defaultModifier:t}),"TEXTAREA"===h.nodeName||"text"===h.type||"number"===h.type){const e=document.createElement("span");e.classList.add("focus-key"),e.innerHTML=`<kbd>${r} ${o.toUpperCase()}</kbd>`,l(e,g)}else h.getAttribute("title")?h.setAttribute("title",h.getAttribute("title")+` (${r} + ${o})`):h.setAttribute("title",`Focus with ${r} + ${o}`)}s()}if(null!==h.getAttribute("data-auto-grow")){if("INPUT"===h.nodeName&&"text"===h.type){const N=document.createElement("textarea");N.id=h.id,N.class=h.class,N.innerText=h.value,N.setAttribute("data-auto-grow",""),h.replaceWith(N),h=N}"TEXTAREA"===h.nodeName&&h.addEventListener("keypress",e=>{"Enter"!==e.key||"Enter"===e.key&&e.shiftKey||(e.preventDefault(),p.requestSubmit())})}if("checkbox"!==f&&"radio"!==f){h.getAttribute("placeholder")||h.setAttribute("placeholder"," ");const E=document.createElement("div"),S=b.closest("dt"),F=h.closest("dd");if(!S){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that does not have a corresponding <dt> element.`);continue}if(!F){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that does not have a corresponding <dd> element.`);continue}if("SELECT"!==h.nodeName&&"range"!==f){const C=document.createElement("button");C.type="button",C.title=h.getAttribute("data-clear-field-text")||"Clear field",C.ariaLabel=h.getAttribute("data-clear-field-text")||"Clear field",C.tabIndex=-1,C.innerHTML='<svg viewBox="0 0 16 16" width="18" height="18"><path d="M 1 1 L 15 15 M 1 15 L 15 1" fill="none" stroke-width="2" stroke="currentColor" />',C.classList.add("clear"),C.id=`semanticFormsClearButton_${h.id}`,C.addEventListener("click",()=>{h.previousValue=h.value,h.value="",h.focus(),u=h.id,h.dispatchEvent(new Event("input",{bubbles:!0}))}),l(C,F.querySelector("label"))}if(h.addEventListener("focus",e=>{"INPUT"===e.target.nodeName&&(c=e.target)}),/colspan-/.test(F.className)){const q=F.className.match(/colspan-([0-9]|full)/)[0];F.classList.remove(q),E.classList.add(q)}if(null!==h.getAttribute("data-max-content")&&!("fieldSizing"in document.createElement("input").style)){const M=()=>{const e=8*(""!==h.value?h.value:h.placeholder).length+40;h.style.width=e+"px",h.style.maxWidth="100%",E.style.width=e+"px"};M(),h.addEventListener("input",M)}E.append(S,F),y.append(E),"none"===S.style.display&&"none"===F.style.display&&(E.style.display="none")}if("file"===f){const $=h.parentElement.querySelector(".clear");h.addEventListener("input",e=>{$.style.display=e.target.files.length?"flex":"none"}),$.addEventListener("click",()=>{$.style.display="none"})}if("range"===f&&h.classList.contains("displayValue")&&(h.parentNode.parentNode.querySelector("dd label").innerHTML+=`<span class="seperator">: </span><output>${h.value}</output>`,h.addEventListener("input",e=>{e.target.parentNode.parentNode.querySelector("output").innerHTML=e.target.value})),"password"===f&&null===h.getAttribute("data-no-reveal")){const T=document.createElement("button");T.type="button",T.title=h.getAttribute("data-show-password-text")||"Show password",T.ariaLabel=h.getAttribute("data-show-password-text")||"Show password",T.tabIndex=-1,T.innerHTML=e,T.classList.add("show"),T.id=`semanticFormsShowButton_${h.id}`;const H=h.closest("dd");if(!H){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that is not inside a <dd> element.`);continue}T.addEventListener("click",()=>{"password"===h.type?(T.innerHTML='<svg fill="none" height="256" viewBox="0 0 24 24" width="256" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m2 2 20 20"/><path d="m6.71277 6.7226c-3.04798 2.07267-4.71277 5.2774-4.71277 5.2774s3.63636 7 10 7c2.0503 0 3.8174-.7266 5.2711-1.7116m-6.2711-12.23018c.3254-.03809.6588-.05822 1-.05822 6.3636 0 10 7 10 7s-.6918 1.3317-2 2.8335"/><path d="m14 14.2362c-.5308.475-1.2316.7639-2 .7639-1.6569 0-3-1.3431-3-3 0-.8237.33193-1.5698.86932-2.11192"/></g></svg>',T.title=h.getAttribute("data-hide-password-text")||"Hide password",T.ariaLabel=h.getAttribute("data-hide-password-text")||"Hide password",h.type="text"):(T.innerHTML=e,T.title=h.getAttribute("data-show-password-text")||"Show password",T.ariaLabel=h.getAttribute("data-show-password-text")||"Show password",h.type="password"),h.focus()}),l(T,H.querySelector("label"))}if("TEXTAREA"===h.nodeName){if(null===h.getAttribute("data-disable-autosize")){h.style.setProperty("resize","none"),h.style.setProperty("min-height","0"),h.style.setProperty("max-height","none"),h.style.setProperty("height","auto");const B=()=>{let e=h.getAttribute("data-max-rows");e&&(isNaN(e)||Number(e)<=0)&&(console.warn(`An invalid value was passed to the "data-max-rows" attribute. This value will be ignored.\n\nProvided value: ${h.getAttribute("data-max-rows")}`),e=null);const t=h.getAttribute("data-max-rows")&&Number(h.getAttribute("data-max-rows"))<5?h.getAttribute("data-max-rows"):"5";h.setAttribute("rows",t);const r=window.getComputedStyle(h),o=parseFloat(r["padding-left"])+parseFloat(r["padding-right"]),i=parseFloat(r["border-left-width"])+parseFloat(r["border-right-width"]);h.style.setProperty("overflow","hidden","important"),h.style.setProperty("width",parseFloat(r.width)-o-i+"px"),h.style.setProperty("box-sizing","content-box"),h.style.setProperty("padding-inline","0"),h.style.setProperty("border-width","0");const n=parseFloat(r["padding-top"])+parseFloat(r["padding-bottom"]),a="normal"===r["line-height"]?parseFloat(r.height):parseFloat(r["line-height"]),s=Math.round(h.scrollHeight);h.style.removeProperty("width"),h.style.removeProperty("box-sizing"),h.style.removeProperty("padding-inline"),h.style.removeProperty("border-width"),h.style.removeProperty("overflow");const l=Math.round((s-n)/a);e?h.setAttribute("rows",""+Math.min(l,Number(e))):h.setAttribute("rows",""+l)};h.addEventListener("input",B),h.dispatchEvent(new Event("input",{bubbles:!0}))}if(null!==h.getAttribute("data-auto-grow")){const K=()=>{h.value.length?h.style.height=h.scrollHeight+"px":h.style.height=window.getComputedStyle(p).getPropertyValue("--semanticFormsInputHeight")};h.style.height=window.getComputedStyle(p).getPropertyValue("--semanticFormsInputHeight"),h.addEventListener("input",K)}const P=()=>{const e=h.parentElement?.querySelector("button.clear");e&&(e.style.marginRight=h.clientHeight<h.scrollHeight?"15px":"")};h.addEventListener("input",P),h.addEventListener("mouseup",P),P()}}}}function l(e,t){t.nextSibling?t.parentNode.insertBefore(e,t.nextSibling):t.parentNode.appendChild(e)}function d(){const e=window.navigator.userAgent,t=window.navigator.platform;let r=null;return t.includes("Win")?r="windows":t.includes("Mac")||/iPhone|iPad|iPod/.test(e)?r="mac":(t.includes("Linux")||/Android/.test(e))&&(r="linux"),r}let c,u;document.addEventListener("keydown",e=>{!e.ctrlKey&&!e.metaKey||"z"!==e.key||e.shiftKey?(e.ctrlKey&&"y"===e.key||e.metaKey&&e.shiftKey&&"z"===e.key)&&c&&(c?.parentNode?.querySelector("button.clear").id!==`semanticFormsClearButton_${u}`&&c?.parentNode?.querySelector("button.clear").name!==`semanticFormsClearButton_${u}`||c.redoValue&&(c.previousValue=c.value,c.value=c.redoValue)):c&&(c?.parentNode?.querySelector("button.clear").id!==`semanticFormsClearButton_${u}`&&c?.parentNode?.querySelector("button.clear").name!==`semanticFormsClearButton_${u}`||c.previousValue&&(c.redoValue=c.value,c.value=c.previousValue))}),window.semanticFormsObserver||(window.semanticFormsObserver=new window.MutationObserver(e=>{let r=!1;for(const o of e){for(const e of o.addedNodes)("FORM"===e.nodeName||e?.querySelector?.("form"))&&(t(),r=!0);if(r)break}}),window.semanticFormsObserver.observe(document.body,{attributes:!1,childList:!0,characterData:!1,subtree:!0})),t.reinitialize=e=>{e.classList.remove("semanticFormsActive"),t()}};e.exports=t}},t={},function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}(90);var e,t});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("semanticForms",[],t):"object"==typeof exports?exports.semanticForms=t():e.semanticForms=t()}(this,()=>{return e={90:e=>{const t=()=>{if("function"!=typeof document.getElementsByClassName||"function"!=typeof document.querySelector||!document.body.classList||!window.MutationObserver)return void console.warn("semantic-forms was loaded into an unsupported browser and will not execute.");const e='<svg fill="none" height="256" viewBox="0 0 24 24" width="256" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m1 12s4-8 11-8 11 8 11 8"/><path d="m1 12s4 8 11 8 11-8 11-8"/><circle cx="12" cy="12" r="3"/></g></svg>',r='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16" version="1.1" style="overflow:visible;"><rect width="16" height="16" fill="none"/><path fill="currentColor" d="M8,10.5c-0.552,0-1,0.448-1,1c0,0.552,0.448,1,1,1c0.552,0,1-0.448,1-1C9,10.948,8.552,10.5,8,10.5z M8,0 C3.582,0,0,3.582,0,8c0,4.418,3.582,8,8,8s8-3.582,8-8C16,3.582,12.418,0,8,0z M12.243,12.243C11.109,13.376,9.603,14,8,14 s-3.109-0.624-4.243-1.757C2.624,11.109,2,9.603,2,8s0.624-3.109,1.757-4.243C4.891,2.624,6.397,2,8,2s3.109,0.624,4.243,1.757 C13.376,4.891,14,6.397,14,8C14,9.603,13.376,11.109,12.243,12.243z M7.927,3.755c-2.248,0-2.76,1.695-2.802,2.906h1.571 c0.028-0.256,0.101-1.418,1.221-1.418c0.672,0,1.206,0.406,1.206,1.175c0,0.695-0.724,1.155-1.303,1.711 C7.241,8.685,7.168,9.325,7.168,9.824V10c0.146,0,1.615,0,1.615,0V9.824c0-1.256,1.967-1.594,1.967-3.541 C10.75,5.059,9.874,3.755,7.927,3.755z"/></svg>',o=["TEXTAREA","SELECT"],i=["checkbox","color","date","datetime-local","email","file","image","month","number","password","radio","range","search","tel","text","time","url","week"],n=[];document.addEventListener("keydown",e=>{const t={Minus:"-",Equal:"=",BracketLeft:"[",BracketRight:"]",Backslash:"\\",Semicolon:";",Quote:"'",Comma:",",Period:".",Slash:"/",Backquote:"`"},r={1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")",Minus:"_",Equal:"+",BracketLeft:"{",BracketRight:"}",Backslash:"|",Semicolon:":",Quote:'"',Comma:"<",Period:">",Slash:"?",Backquote:"~"},o=n.find(o=>{let i,n=!1;if(e.altKey&&!e.shiftKey)n="Key"+o.key.toUpperCase()===e.code||"Digit"+o.key.toUpperCase()===e.code||o.key===e.key||t[e.code]===o.key;else if(e.shiftKey){const t=e.code.replace(/Key|Digit/,"");n=(r[t]||r[e.key])&&(r[t]===o.key||r[e.key]===o.key)}else n=o.key.toUpperCase()===e.key.toUpperCase();return!!n&&(o.modifier&&(o.modifier===o.defaultModifier&&(i="windows"===o.os||"linux"===o.os?e.ctrlKey:e.metaKey),"meta"===o.modifier&&(i=e.metaKey),"alt"===o.modifier&&(i=e.altKey),"ctrl"===o.modifier&&(i=e.ctrlKey)),i)});o&&(e.preventDefault(),o.input.focus())});const a=document.querySelectorAll("form.semanticForms:not(.semanticFormsActive), table.semanticForms:not(.semanticFormsActive)");for(const p of a){if(p.classList.add("semanticFormsActive"),p.classList.contains("lowFlow"))continue;const m=Array.from(p.querySelectorAll("input, textarea, select"));for(let h of m){if(h.classList.contains("semanticform")||!h.id)continue;const f=h.getAttribute("type");if(o.includes(h.nodeName)||i.includes(f)){let y=h.parentNode;for(;y&&"DL"!==y.nodeName;)y=y.parentNode;if(!y)continue;y.classList.contains("floatLabelForm")||y.classList.add("floatLabelForm");const b=!h.parentNode.parentNode.id||"checkbox"!==f&&"radio"!==f?document.querySelector("label[for="+h.id.replace(/\./g,"\\.")+"]"):document.querySelector("label[data-for="+h.parentNode.parentNode.id.replace(/\./g,"\\.")+"]");b||console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) without a properly associated label. Make sure there is a label for it and the label has a matching "for" attribute.`),h.classList.add("semanticform");const g=document.createElement("label");if(g.className="floatLabelFormAnimatedLabel","checkbox"===f||"radio"===f){let w=h.parentNode;for(;w&&"DD"!==w.nodeName;)w=w.parentNode;if(!w){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that is not inside a <dd> element.`);continue}if("LABEL"!==w.firstChild.nodeName){if("checkbox"===f&&"DD"===h.parentNode.nodeName&&(g.setAttribute("for",h.id),h.parentNode.classList.add("singleCheckbox"),g.className="",b.setAttribute("hidden","hidden"),l(g,h)),"radio"===f&&"DD"===h.parentNode.nodeName&&(g.setAttribute("for",h.id),h.parentNode.classList.add("singleRadio"),g.className="",b.setAttribute("hidden","hidden"),l(g,h)),g.innerHTML=b.innerHTML,b.hasAttribute("title")&&null!==b.getAttribute("data-show-help-icon")&&!b.querySelector("span.help")){const A=b.getAttribute("title");b.innerHTML+=` <span title="${A}" class="help">${r}</span>`,g.innerHTML+=` <span title="${A}" class="help">${r}</span>`}if(w.querySelector(":required")&&null===b.getAttribute("data-no-asterisk")&&!b.querySelector("span.required")){const x=b.getAttribute("data-asterisk-text")||"This field is required.";b.innerHTML+=` <span title="${x}" class="required">*</span>`,g.innerHTML+=` <span title="${x}" class="required">*</span>`}w.querySelector("label")||w.append(g)}"DIV"===w.parentElement.nodeName&&w.parentElement.remove();const v=document.createElement("div");v.append(b.closest("dt"),w),y.append(v)}else{if(g.setAttribute("for",h.id),g.innerHTML=b.innerHTML,h.hasAttribute("title")&&null!==b.getAttribute("data-show-help-icon")&&!b.querySelector("span.help")){const L=h.getAttribute("title");g.innerHTML+=` <span title="${L}" class="help">${r}</span>`}if(h.hasAttribute("required")&&null===b.getAttribute("data-no-asterisk")&&!b.querySelector("span.required")){const k=b.getAttribute("data-asterisk-text")||"This field is required.";g.innerHTML+=` <span title="${k}" class="required">*</span>`}b.setAttribute("hidden","hidden"),l(g,h)}if(null!==h.getAttribute("data-focus-key")){function s(){const e=d(),t="metactrl";let r,o=h.getAttribute("data-focus-key");o.length>1&&(console.error(`Provided focus key "${o}" is more than one character. Using first character only.`),o=o.toString()[0]);let i=t;const a={default:h.getAttribute("data-focus-modifier")||t,linux:h.getAttribute("data-focus-modifier-linux"),mac:h.getAttribute("data-focus-modifier-mac"),windows:h.getAttribute("data-focus-modifier-win")};if(i=e&&a[e]?a[e]:a.default,["ctrl","alt","opt","meta","cmd",t].includes(i)||(console.error(`Received an unrecognized modifier, "${i}," defaulting to "${t}."`,h),i=t),["alt","opt"].includes(i)?r="mac"===e?"⌥":"⎇":["meta","win","cmd"].includes(i)||i===t&&"mac"===e?r="mac"===e?"⌘":"linux"===e?"◆":"⊞":"ctrl"!==i&&(i!==t||"windows"!==e&&"linux"!==e)||(r="mac"===e?"⌃":"Ctrl"),n.some(e=>e.key===o&&e.modifier===i)?console.error(`Duplicate keyboard shortcut "${i} + ${o}" detected. Only the first input will be focusable using this keyboard shortcut.`,h):n.push({key:o,modifier:i,input:h,os:e,defaultModifier:t}),"TEXTAREA"===h.nodeName||"text"===h.type||"number"===h.type){const e=document.createElement("span");e.classList.add("focus-key"),e.innerHTML=`<kbd>${r} ${o.toUpperCase()}</kbd>`,l(e,g)}else h.getAttribute("title")?h.setAttribute("title",h.getAttribute("title")+` (${r} + ${o})`):h.setAttribute("title",`Focus with ${r} + ${o}`)}s()}if(null!==h.getAttribute("data-auto-grow")){if("INPUT"===h.nodeName&&"text"===h.type){const N=document.createElement("textarea");N.id=h.id,N.class=h.class,N.innerText=h.value,N.setAttribute("data-auto-grow",""),h.replaceWith(N),h=N}"TEXTAREA"===h.nodeName&&h.addEventListener("keypress",e=>{"Enter"!==e.key||"Enter"===e.key&&e.shiftKey||(e.preventDefault(),p.requestSubmit())})}if("checkbox"!==f&&"radio"!==f){h.getAttribute("placeholder")||h.setAttribute("placeholder"," ");const E=document.createElement("div"),S=b.closest("dt"),F=h.closest("dd");if(!S){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that does not have a corresponding <dt> element.`);continue}if(!F){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that does not have a corresponding <dd> element.`);continue}if("SELECT"!==h.nodeName&&"range"!==f){const C=document.createElement("button");C.type="button",C.title=h.getAttribute("data-clear-field-text")||"Clear field",C.ariaLabel=h.getAttribute("data-clear-field-text")||"Clear field",C.tabIndex=-1,C.innerHTML='<svg viewBox="0 0 16 16" width="18" height="18"><path d="M 1 1 L 15 15 M 1 15 L 15 1" fill="none" stroke-width="2" stroke="currentColor" />',C.classList.add("clear"),C.id=`semanticFormsClearButton_${h.id}`,C.addEventListener("click",()=>{h.previousValue=h.value,h.value="",h.focus(),u=h.id,h.dispatchEvent(new Event("input",{bubbles:!0}))}),l(C,F.querySelector("label"))}if(h.addEventListener("focus",e=>{"INPUT"===e.target.nodeName&&(c=e.target)}),/colspan-/.test(F.className)){const q=F.className.match(/colspan-([0-9]|full)/)[0];F.classList.remove(q),E.classList.add(q)}if(null!==h.getAttribute("data-max-content")&&!("fieldSizing"in document.createElement("input").style)){const M=()=>{const e=8*(""!==h.value?h.value:h.placeholder).length+40;h.style.width=e+"px",h.style.maxWidth="100%",E.style.width=e+"px"};M(),h.addEventListener("input",M)}E.append(S,F),y.append(E),"none"===S.style.display&&"none"===F.style.display&&(E.style.display="none")}if("file"===f){const $=h.parentElement.querySelector(".clear");h.addEventListener("input",e=>{$.style.display=e.target.files.length?"flex":"none"}),$.addEventListener("click",()=>{$.style.display="none"})}if("range"===f&&h.classList.contains("displayValue")&&(h.parentNode.parentNode.querySelector("dd label").innerHTML+=`<span class="seperator">: </span><output>${h.value}</output>`,h.addEventListener("input",e=>{e.target.parentNode.parentNode.querySelector("output").innerHTML=e.target.value})),"password"===f&&null===h.getAttribute("data-no-reveal")){const T=document.createElement("button");T.type="button",T.title=h.getAttribute("data-show-password-text")||"Show password",T.ariaLabel=h.getAttribute("data-show-password-text")||"Show password",T.tabIndex=-1,T.innerHTML=e,T.classList.add("show"),T.id=`semanticFormsShowButton_${h.id}`;const P=h.closest("dd");if(!P){console.error(`semantic-forms: Found an input (${h.id||h.getAttribute("name")}) that is not inside a <dd> element.`);continue}T.addEventListener("click",()=>{"password"===h.type?(T.innerHTML='<svg fill="none" height="256" viewBox="0 0 24 24" width="256" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m2 2 20 20"/><path d="m6.71277 6.7226c-3.04798 2.07267-4.71277 5.2774-4.71277 5.2774s3.63636 7 10 7c2.0503 0 3.8174-.7266 5.2711-1.7116m-6.2711-12.23018c.3254-.03809.6588-.05822 1-.05822 6.3636 0 10 7 10 7s-.6918 1.3317-2 2.8335"/><path d="m14 14.2362c-.5308.475-1.2316.7639-2 .7639-1.6569 0-3-1.3431-3-3 0-.8237.33193-1.5698.86932-2.11192"/></g></svg>',T.title=h.getAttribute("data-hide-password-text")||"Hide password",T.ariaLabel=h.getAttribute("data-hide-password-text")||"Hide password",h.type="text"):(T.innerHTML=e,T.title=h.getAttribute("data-show-password-text")||"Show password",T.ariaLabel=h.getAttribute("data-show-password-text")||"Show password",h.type="password"),h.focus()}),l(T,P.querySelector("label"))}if("TEXTAREA"===h.nodeName){if(null===h.getAttribute("data-disable-autosize")){h.style.setProperty("resize","none"),h.style.setProperty("min-height","0"),h.style.setProperty("max-height","none"),h.style.setProperty("height","auto");const B=()=>{let e=h.getAttribute("data-max-rows");e&&(isNaN(e)||Number(e)<=0)&&(console.warn(`An invalid value was passed to the "data-max-rows" attribute. This value will be ignored.\n\nProvided value: ${h.getAttribute("data-max-rows")}`),e=null);const t=h.getAttribute("data-max-rows")&&Number(h.getAttribute("data-max-rows"))<5?h.getAttribute("data-max-rows"):"5";h.setAttribute("rows",t);const r=window.getComputedStyle(h),o=parseFloat(r["padding-left"])+parseFloat(r["padding-right"]),i=parseFloat(r["border-left-width"])+parseFloat(r["border-right-width"]);h.style.setProperty("overflow","hidden","important"),h.style.setProperty("width",parseFloat(r.width)-o-i+"px"),h.style.setProperty("box-sizing","content-box"),h.style.setProperty("padding-inline","0"),h.style.setProperty("border-width","0");const n=parseFloat(r["padding-top"])+parseFloat(r["padding-bottom"]),a="normal"===r["line-height"]?parseFloat(r.height):parseFloat(r["line-height"]),s=Math.round(h.scrollHeight);h.style.removeProperty("width"),h.style.removeProperty("box-sizing"),h.style.removeProperty("padding-inline"),h.style.removeProperty("border-width"),h.style.removeProperty("overflow");const l=Math.round((s-n)/a);e?h.setAttribute("rows",""+Math.min(l,Number(e))):h.setAttribute("rows",""+l)};h.addEventListener("input",B),h.dispatchEvent(new Event("input",{bubbles:!0}))}if(null!==h.getAttribute("data-auto-grow")){const K=()=>{if(h.value.length){const e=parseInt(window.getComputedStyle(h).getPropertyValue("border-width"));h.style.height=h.scrollHeight+2*e+"px"}else h.style.height=window.getComputedStyle(p).getPropertyValue("--semanticFormsInputHeight")};h.style.height=window.getComputedStyle(p).getPropertyValue("--semanticFormsInputHeight"),h.addEventListener("input",K)}const H=()=>{const e=h.parentElement?.querySelector("button.clear");e&&(e.style.marginRight=h.clientHeight<h.scrollHeight?"15px":"")};h.addEventListener("input",H),h.addEventListener("mouseup",H),H()}}}}function l(e,t){t.nextSibling?t.parentNode.insertBefore(e,t.nextSibling):t.parentNode.appendChild(e)}function d(){const e=window.navigator.userAgent,t=window.navigator.platform;let r=null;return t.includes("Win")?r="windows":t.includes("Mac")||/iPhone|iPad|iPod/.test(e)?r="mac":(t.includes("Linux")||/Android/.test(e))&&(r="linux"),r}let c,u;document.addEventListener("keydown",e=>{!e.ctrlKey&&!e.metaKey||"z"!==e.key||e.shiftKey?(e.ctrlKey&&"y"===e.key||e.metaKey&&e.shiftKey&&"z"===e.key)&&c&&(c?.parentNode?.querySelector("button.clear").id!==`semanticFormsClearButton_${u}`&&c?.parentNode?.querySelector("button.clear").name!==`semanticFormsClearButton_${u}`||c.redoValue&&(c.previousValue=c.value,c.value=c.redoValue)):c&&(c?.parentNode?.querySelector("button.clear").id!==`semanticFormsClearButton_${u}`&&c?.parentNode?.querySelector("button.clear").name!==`semanticFormsClearButton_${u}`||c.previousValue&&(c.redoValue=c.value,c.value=c.previousValue))}),window.semanticFormsObserver||(window.semanticFormsObserver=new window.MutationObserver(e=>{let r=!1;for(const o of e){for(const e of o.addedNodes)("FORM"===e.nodeName||e?.querySelector?.("form"))&&(t(),r=!0);if(r)break}}),window.semanticFormsObserver.observe(document.body,{attributes:!1,childList:!0,characterData:!1,subtree:!0})),t.reinitialize=e=>{e.classList.remove("semanticFormsActive"),t()}};e.exports=t}},t={},function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}(90);var e,t});
|
|
2
2
|
//# sourceMappingURL=semantic-forms.min.js.map
|