@nr1e/qwik-ui 2.0.12 → 2.0.14

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.
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@builder.io/qwik/jsx-runtime");
4
+ const qwik = require("@builder.io/qwik");
5
+ const FieldSet = qwik.component$((props) => {
6
+ return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", {
7
+ class: "fieldset border-base-content/40 rounded-md border pr-4 pb-4 pl-4",
8
+ children: [
9
+ props.legend && /* @__PURE__ */ jsxRuntime.jsx("legend", {
10
+ class: "fieldset-legend",
11
+ children: props.legend
12
+ }),
13
+ /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {})
14
+ ]
15
+ });
16
+ });
17
+ exports.FieldSet = FieldSet;
@@ -0,0 +1,17 @@
1
+ import { jsxs, jsx } from "@builder.io/qwik/jsx-runtime";
2
+ import { component$, Slot } from "@builder.io/qwik";
3
+ const FieldSet = component$((props) => {
4
+ return /* @__PURE__ */ jsxs("fieldset", {
5
+ class: "fieldset border-base-content/40 rounded-md border pr-4 pb-4 pl-4",
6
+ children: [
7
+ props.legend && /* @__PURE__ */ jsx("legend", {
8
+ class: "fieldset-legend",
9
+ children: props.legend
10
+ }),
11
+ /* @__PURE__ */ jsx(Slot, {})
12
+ ]
13
+ });
14
+ });
15
+ export {
16
+ FieldSet
17
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@builder.io/qwik/jsx-runtime");
4
+ const qwik = require("@builder.io/qwik");
5
+ const qwikIcons = require("@nr1e/qwik-icons");
6
+ const SubmitButton = qwik.component$((props) => {
7
+ return /* @__PURE__ */ jsxRuntime.jsxs("button", {
8
+ class: `btn btn-primary ${props.class ?? ""} ${props.processing || props.disabled ? "disabled" : ""}`,
9
+ onClick$: props.onClick$,
10
+ id: props.id,
11
+ type: "submit",
12
+ children: [
13
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
14
+ "q:slot": "icon"
15
+ }),
16
+ props.processing && /* @__PURE__ */ jsxRuntime.jsx("span", {
17
+ class: "animate-spin",
18
+ children: /* @__PURE__ */ jsxRuntime.jsx(qwikIcons.SpinnersBarsRotateFade, {
19
+ size: 18
20
+ })
21
+ }),
22
+ /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {})
23
+ ]
24
+ });
25
+ });
26
+ exports.SubmitButton = SubmitButton;
@@ -0,0 +1,26 @@
1
+ import { jsxs, jsx } from "@builder.io/qwik/jsx-runtime";
2
+ import { component$, Slot } from "@builder.io/qwik";
3
+ import { SpinnersBarsRotateFade } from "@nr1e/qwik-icons";
4
+ const SubmitButton = component$((props) => {
5
+ return /* @__PURE__ */ jsxs("button", {
6
+ class: `btn btn-primary ${props.class ?? ""} ${props.processing || props.disabled ? "disabled" : ""}`,
7
+ onClick$: props.onClick$,
8
+ id: props.id,
9
+ type: "submit",
10
+ children: [
11
+ /* @__PURE__ */ jsx("span", {
12
+ "q:slot": "icon"
13
+ }),
14
+ props.processing && /* @__PURE__ */ jsx("span", {
15
+ class: "animate-spin",
16
+ children: /* @__PURE__ */ jsx(SpinnersBarsRotateFade, {
17
+ size: 18
18
+ })
19
+ }),
20
+ /* @__PURE__ */ jsx(Slot, {})
21
+ ]
22
+ });
23
+ });
24
+ export {
25
+ SubmitButton
26
+ };
@@ -3,23 +3,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("@builder.io/qwik/jsx-runtime");
4
4
  const qwik = require("@builder.io/qwik");
5
5
  const TextField = qwik.component$((props) => {
6
- const value = qwik.useSignal(typeof props.value === "string" ? props.value : props.value?.value);
7
- qwik.useTask$(({ track }) => {
8
- if (props.value && typeof props.value !== "string") {
9
- track(() => value.value);
10
- if (value.value !== props.value?.value) {
11
- props.value.value = value.value;
12
- }
13
- }
14
- });
15
- qwik.useTask$(({ track }) => {
16
- if (props.value && typeof props.value !== "string") {
17
- track(() => props.value.value);
18
- if (props.value.value !== value.value) {
19
- value.value = props.value.value;
20
- }
21
- }
22
- });
23
6
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
24
7
  class: "fieldset",
25
8
  children: [
@@ -51,11 +34,18 @@ const TextField = qwik.component$((props) => {
51
34
  "aria-required": props.required,
52
35
  disabled: props.disabled,
53
36
  maxLength: props.maxLength,
54
- value: value.value,
37
+ value: typeof props.value === "string" ? props.value : props.value?.value,
55
38
  class: "placeholder:opacity-50",
56
39
  placeholder: props.placeholder,
57
40
  onBlur$: props.onBlur$,
58
- onInput$: props.onInput$
41
+ onInput$: (event, element) => {
42
+ if (props.value && typeof props.value !== "string") {
43
+ props.value.value = element.value;
44
+ }
45
+ if (props.onInput$) {
46
+ props.onInput$(event, element);
47
+ }
48
+ }
59
49
  }),
60
50
  /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {
61
51
  name: "right"
@@ -1,23 +1,6 @@
1
1
  import { jsxs, jsx } from "@builder.io/qwik/jsx-runtime";
2
- import { component$, useSignal, useTask$, Slot } from "@builder.io/qwik";
2
+ import { component$, Slot } from "@builder.io/qwik";
3
3
  const TextField = component$((props) => {
4
- const value = useSignal(typeof props.value === "string" ? props.value : props.value?.value);
5
- useTask$(({ track }) => {
6
- if (props.value && typeof props.value !== "string") {
7
- track(() => value.value);
8
- if (value.value !== props.value?.value) {
9
- props.value.value = value.value;
10
- }
11
- }
12
- });
13
- useTask$(({ track }) => {
14
- if (props.value && typeof props.value !== "string") {
15
- track(() => props.value.value);
16
- if (props.value.value !== value.value) {
17
- value.value = props.value.value;
18
- }
19
- }
20
- });
21
4
  return /* @__PURE__ */ jsxs("div", {
22
5
  class: "fieldset",
23
6
  children: [
@@ -49,11 +32,18 @@ const TextField = component$((props) => {
49
32
  "aria-required": props.required,
50
33
  disabled: props.disabled,
51
34
  maxLength: props.maxLength,
52
- value: value.value,
35
+ value: typeof props.value === "string" ? props.value : props.value?.value,
53
36
  class: "placeholder:opacity-50",
54
37
  placeholder: props.placeholder,
55
38
  onBlur$: props.onBlur$,
56
- onInput$: props.onInput$
39
+ onInput$: (event, element) => {
40
+ if (props.value && typeof props.value !== "string") {
41
+ props.value.value = element.value;
42
+ }
43
+ if (props.onInput$) {
44
+ props.onInput$(event, element);
45
+ }
46
+ }
57
47
  }),
58
48
  /* @__PURE__ */ jsx(Slot, {
59
49
  name: "right"
@@ -13,12 +13,14 @@ const fixedCenterBottom = require("./components/fixed-center-bottom.qwik.cjs");
13
13
  const formatDate = require("./components/format-date.qwik.cjs");
14
14
  const formatDateTime = require("./components/format-date-time.qwik.cjs");
15
15
  const dropUp = require("./components/drop-up.qwik.cjs");
16
+ const fieldset = require("./components/fieldset.qwik.cjs");
16
17
  const googleSignInButton = require("./components/google-sign-in-button.qwik.cjs");
17
18
  const gtm = require("./components/gtm.qwik.cjs");
18
19
  const menu = require("./components/menu.qwik.cjs");
19
20
  const microsoftSignInButton = require("./components/microsoft-sign-in-button.qwik.cjs");
20
21
  const paceBar = require("./components/pace-bar.qwik.cjs");
21
22
  const selectField = require("./components/select-field.qwik.cjs");
23
+ const submitButton = require("./components/submit-button.qwik.cjs");
22
24
  const textField = require("./components/text-field.qwik.cjs");
23
25
  const themeSelector = require("./components/theme-selector.qwik.cjs");
24
26
  const timeZoneSelector = require("./components/time-zone-selector.qwik.cjs");
@@ -43,6 +45,7 @@ exports.DropUpButton = dropUp.DropUpButton;
43
45
  exports.DropUpButtonSelector = dropUp.DropUpButtonSelector;
44
46
  exports.DropUpLink = dropUp.DropUpLink;
45
47
  exports.DropUpSubmenu = dropUp.DropUpSubmenu;
48
+ exports.FieldSet = fieldset.FieldSet;
46
49
  exports.GoogleSignInButton = googleSignInButton.GoogleSignInButton;
47
50
  exports.GtmBody = gtm.GtmBody;
48
51
  exports.GtmHead = gtm.GtmHead;
@@ -56,6 +59,7 @@ exports.Submenu = menu.Submenu;
56
59
  exports.MicrosoftSignInButton = microsoftSignInButton.MicrosoftSignInButton;
57
60
  exports.PaceBar = paceBar.PaceBar;
58
61
  exports.SelectField = selectField.SelectField;
62
+ exports.SubmitButton = submitButton.SubmitButton;
59
63
  exports.TextField = textField.TextField;
60
64
  exports.THEMES = themeSelector.THEMES;
61
65
  exports.ThemeSelector = themeSelector.ThemeSelector;
@@ -11,12 +11,14 @@ import { FixedCenterBottom } from "./components/fixed-center-bottom.qwik.mjs";
11
11
  import { FormatDate } from "./components/format-date.qwik.mjs";
12
12
  import { FormatDateTime } from "./components/format-date-time.qwik.mjs";
13
13
  import { DropUp, DropUpButton, DropUpButtonSelector, DropUpLink, DropUpSubmenu } from "./components/drop-up.qwik.mjs";
14
+ import { FieldSet } from "./components/fieldset.qwik.mjs";
14
15
  import { GoogleSignInButton } from "./components/google-sign-in-button.qwik.mjs";
15
16
  import { GtmBody, GtmHead } from "./components/gtm.qwik.mjs";
16
17
  import { Menu, MenuButton, MenuDivider, MenuGroup, MenuGroupSummary, MenuLink, Submenu } from "./components/menu.qwik.mjs";
17
18
  import { MicrosoftSignInButton } from "./components/microsoft-sign-in-button.qwik.mjs";
18
19
  import { PaceBar } from "./components/pace-bar.qwik.mjs";
19
20
  import { SelectField } from "./components/select-field.qwik.mjs";
21
+ import { SubmitButton } from "./components/submit-button.qwik.mjs";
20
22
  import { TextField } from "./components/text-field.qwik.mjs";
21
23
  import { THEMES, ThemeSelector, themeToName } from "./components/theme-selector.qwik.mjs";
22
24
  import { TimeZoneSelector, timeZoneToName } from "./components/time-zone-selector.qwik.mjs";
@@ -39,6 +41,7 @@ export {
39
41
  DropUpButtonSelector,
40
42
  DropUpLink,
41
43
  DropUpSubmenu,
44
+ FieldSet,
42
45
  FixedCenterBottom,
43
46
  FormatDate,
44
47
  FormatDateTime,
@@ -55,6 +58,7 @@ export {
55
58
  PaceBar,
56
59
  SelectField,
57
60
  Submenu,
61
+ SubmitButton,
58
62
  THEMES,
59
63
  TextField,
60
64
  ThemeSelector,
@@ -0,0 +1,4 @@
1
+ export interface FieldsetProps {
2
+ legend?: string;
3
+ }
4
+ export declare const FieldSet: import("@builder.io/qwik").Component<FieldsetProps>;
@@ -0,0 +1,9 @@
1
+ import { QRL } from '@builder.io/qwik';
2
+ export interface SubmitButtonProps {
3
+ class?: string;
4
+ onClick$?: QRL<(event: Event) => void>;
5
+ id?: string;
6
+ disabled?: boolean;
7
+ processing?: boolean;
8
+ }
9
+ export declare const SubmitButton: import("@builder.io/qwik").Component<SubmitButtonProps>;
@@ -29,8 +29,5 @@ export interface TextFieldProps {
29
29
  /**
30
30
  * A standardized text input field meant to be used independently or with Qwik
31
31
  * Modular Forms.
32
- *
33
- * Be aware that the normalized value of the input from validation is reflected
34
- * back into the text field automatically on blur.
35
32
  */
36
33
  export declare const TextField: import("@builder.io/qwik").Component<TextFieldProps>;
@@ -11,12 +11,14 @@ export * from './components/fixed-center-bottom';
11
11
  export * from './components/format-date';
12
12
  export * from './components/format-date-time';
13
13
  export * from './components/drop-up';
14
+ export * from './components/fieldset';
14
15
  export * from './components/google-sign-in-button';
15
16
  export * from './components/gtm';
16
17
  export * from './components/menu';
17
18
  export * from './components/microsoft-sign-in-button';
18
19
  export * from './components/pace-bar';
19
20
  export * from './components/select-field';
21
+ export * from './components/submit-button';
20
22
  export * from './components/text-field';
21
23
  export * from './components/theme-selector';
22
24
  export * from './components/time-zone-selector';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nr1e/qwik-ui",
3
- "version": "2.0.12",
3
+ "version": "2.0.14",
4
4
  "description": "NR1E Qwik UI Library",
5
5
  "author": "NR1E, Inc.",
6
6
  "publishConfig": {
@@ -34,29 +34,29 @@
34
34
  "sideEffects": false,
35
35
  "type": "module",
36
36
  "peerDependencies": {
37
- "@builder.io/qwik-city": "1.19.1",
37
+ "@builder.io/qwik-city": "1.19.2",
38
38
  "tailwindcss-animated": "2.0.0",
39
39
  "@nr1e/qwik-icons": "0.0.31"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@builder.io/qwik": "1.19.1",
43
- "@eslint/js": "^9.39.3",
43
+ "@eslint/js": "^9.39.4",
44
44
  "@tailwindcss/vite": "^4.2.1",
45
45
  "@types/node": "^24.10.13",
46
46
  "daisyui": "^5.5.19",
47
- "eslint": "9.39.3",
48
- "eslint-plugin-qwik": "1.19.1",
47
+ "eslint": "9.39.4",
48
+ "eslint-plugin-qwik": "1.19.2",
49
49
  "globals": "17.4.0",
50
50
  "np": "^11.0.2",
51
51
  "prettier": "3.8.1",
52
52
  "prettier-plugin-tailwindcss": "^0.7.1",
53
53
  "tailwindcss": "^4.2.1",
54
54
  "typescript": "5.9.3",
55
- "typescript-eslint": "8.56.1",
55
+ "typescript-eslint": "8.57.0",
56
56
  "undici": "*",
57
57
  "vite": "7.3.1",
58
58
  "vite-tsconfig-paths": "^6.1.1",
59
- "vitest": "4.0.18"
59
+ "vitest": "4.1.0"
60
60
  },
61
61
  "scripts": {
62
62
  "prebuild": "prettier --check . && eslint .",