pota/use/stringpota/use/string collects the small string utilities that come up
over and over when building UIs: case conversion, light validation,
clipboard, hashing, and a multi-line diff used by
pota/use/test.
dashesToCamelCase(s) — kebab-case
→ camelCasecapitalizeFirstLetter(s) —
uppercase the first charlabel(s) — slug → human labelshort(s) — truncate to 40 chars with …ensureString(s) — coerce to a string,
falsy → ''toString(s, length?) — coerce + trim, with
optional max lengthwholeNumber(n) — drop the fractional
part, NaN → 0validateEmail(s) — normalized email
or falseisEmoji(s) — does the string contain emoji?copyToClipboard(s) — write text to
the clipboardhash(value, algo?) — WebCrypto digest as hexdiff(a, b) — mark line divergence between two
multi-line strings