
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
CLASSES.IS_HOVERABLE
for is-hoverable classname)
focus-visible
is-active
is-busy
is-disabled
is-focused
is-hoverable
is-hovered
is-invalid
is-loading
is-not-hoverable
is-readonly
is-required
is-selected
!!! Required @uxf/resizer version >= 2.3.2
which supported quality
parameter.
[
{
"route": "/generated/static/:width(\\d+|x)_:height(\\d+|x)_:fit([a-z]+)_:position([a-z]+)_:background([a-z]+)_:trim([a-z]+)_:quality(\\d+|x)/:version/:filename(*).:extension.:toFormat",
"source": "https://uxf-base.uxf.dev/:filename+.:extension"
},
{
"route": "/generated/:namespace/:p1/:p2/:filename([a-f0-9\\-]+)_:width(\\d+|x)_:height(\\d+|x)_:fit([a-z]+)_:position([a-z]+)_:background([a-z]+)_:trim([a-z]+)_:quality(\\d+|x)_:extension.:toFormat",
"source": "https://s3.uxf.dev/${APP_NAME}-${APP_ENV}/:namespace/:p1/:p2/:filename.:extension"
}
]
import {resizerImageUrl} from "@uxf/core/utils/resizer";
<img src={resizerImageUrl(file, width, height, params)}/>
import {resizerImageUrl} from "@uxf/core/utils/resizer";
import staticImage from "./path/to/static-image.png";
<img src={resizerImageUrl(staticImage, width, height, params)}/>
Helper function for qr code generator.
https://gitlab.uxf.cz/uxf-internal-projects/qr#qr-code-generator
import { qrCodeUrl } from "@uxf/core/qr";
qrCodeUrl("https://www.uxf.cz", { width: 200, margin: 5, errorCorrectionLevel: "H" });
secure?: boolean;
httpOnly?: boolean;
path?: string;
import { Cookie } from "@uxf/core/cookie";
// on client
const cookie = Cookie.create();
// in getInitialProps
const cookie = Cookie.create(ctx);
cookie.has("cookie-name");
cookie.get("cookie-name");
cookie.set("cookie-name", "value", /* ttl in seconds (optional) */, /* options (optional) */)
cookie.delete("cookie-name", /* options (optional) */);
Dynamically adjusts the height of a <textarea>
based on its content and an optional number of rows.
element
: The <textarea>
to adjust.rows
(optional): Minimum visible rows. Default is 4
."auto"
to measure content height.rows
parameter, calculated using line-height
and font-size
.adjustTextareaHeight(textarea); // Adjusts height (min 4 rows)
adjustTextareaHeight(textarea, 6); // With 6-row minimum
Note: Requires valid
line-height
andfont-size
styles for accurate sizing.
It is our fork of clsx
library https://github.com/lukeed/clsx
We will mainly use cx
, which is fork of clsx/lite
– it accepts ONLY string values! Any non-string arguments are ignored!
import { cx } from "@uxf/core/utils/cx";
// string
cx("hello", true && "foo", false && "bar");
// => "hello foo"
// NOTE: Any non-string input(s) ignored
cx({ foo: true });
//=> ""
The cxa
function is full fork of clsx
and can take any number of arguments, each of which can be an Object, Array, Boolean, or String.
Important: Any falsy values are discarded! Standalone Boolean values are discarded as well.
import { cxa } from "@uxf/core/utils/cxa";
cxa(true, false, "", null, undefined, 0, NaN);
//=> ""
// Strings (variadic)
cxa("foo", true && "bar", "baz");
//=> "foo bar baz"
// Objects
cxa({ foo:true, bar:false, baz:isTrue() });
//=> "foo baz"
// Objects (variadic)
cxa({ foo:true }, { bar:false }, null, { "--foobar":"hello" });
//=> "foo --foobar"
// Arrays
cxa(["foo", 0, false, "bar"]);
//=> "foo bar"
// Arrays (variadic)
cxa(["foo"], ["", 0, false, "bar"], [["baz", [["hello"], "there"]]]);
//=> "foo bar baz hello there"
// Kitchen sink (with nesting)
cxa("foo", [1 && "bar", { baz:false, bat:null }, ["hello", ["world"]]], "cya");
//=> "foo bar hello world cya"
Intended as only way to programmatically download file if there is no option to use native anchor with download
html attribute (eg. in form submit events).
import { downloadFile } from "@uxf/core/utils/download-file";
import { FormEventHandler } from "react";
const submitHandler: FormEventHandler<HTMLFormElement> = () => {
downloadFile("https://example.com/file", "file.txt")
};
Appends suitable unit to the byte value of data size.
formatBytes(17.5 * 1024);
//=> "17.5 kB"
Checks that value is always type "never".
switch(value) {
case "a":
return "A";
case "b":
return "B";
default:
return assertNever(value);
}
import { Validator } from "@uxf/core";
Validator.isEmail("...");
Validator.isPhone("...");
FAQs
UXF Core
The npm package @uxf/core receives a total of 362 weekly downloads. As such, @uxf/core popularity was classified as not popular.
We found that @uxf/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.