@elmethis/qwik 0.0.23 → 0.0.24
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/lib/index.qwik.cjs +65 -1
- package/lib/index.qwik.mjs +66 -2
- package/lib-types/hooks/useLocalStorage.d.ts +6 -0
- package/lib-types/index.d.ts +4 -0
- package/package.json +2 -2
package/lib/index.qwik.cjs
CHANGED
|
@@ -2723,7 +2723,7 @@ const styles$6 = {
|
|
|
2723
2723
|
};
|
|
2724
2724
|
const useInView = (props) => {
|
|
2725
2725
|
const ref = qwik.useSignal();
|
|
2726
|
-
const isVisible = qwik.useSignal(false);
|
|
2726
|
+
const isVisible = qwik.useSignal(props?.defaultValue ?? false);
|
|
2727
2727
|
qwik.useVisibleTask$(() => {
|
|
2728
2728
|
if (!ref.value) return;
|
|
2729
2729
|
const observer = new IntersectionObserver(([entry]) => {
|
|
@@ -3212,6 +3212,66 @@ const ElmMarkdown = qwik.component$(({ markdown }) => {
|
|
|
3212
3212
|
children: elements
|
|
3213
3213
|
});
|
|
3214
3214
|
});
|
|
3215
|
+
const useDelayedSignal = (initialValue) => {
|
|
3216
|
+
const signal = qwik.useSignal(initialValue);
|
|
3217
|
+
const delayedSignal = qwik.useSignal(initialValue);
|
|
3218
|
+
const isSignalChanging = qwik.useSignal(false);
|
|
3219
|
+
const dispatch = qwik.$((value, delay) => {
|
|
3220
|
+
isSignalChanging.value = true;
|
|
3221
|
+
signal.value = value;
|
|
3222
|
+
if (delay === void 0 || delay <= 0) {
|
|
3223
|
+
delayedSignal.value = value;
|
|
3224
|
+
isSignalChanging.value = false;
|
|
3225
|
+
} else {
|
|
3226
|
+
const timerId = setTimeout(() => {
|
|
3227
|
+
delayedSignal.value = value;
|
|
3228
|
+
isSignalChanging.value = false;
|
|
3229
|
+
clearTimeout(timerId);
|
|
3230
|
+
}, delay);
|
|
3231
|
+
}
|
|
3232
|
+
});
|
|
3233
|
+
return {
|
|
3234
|
+
signal,
|
|
3235
|
+
delayedSignal,
|
|
3236
|
+
dispatch
|
|
3237
|
+
};
|
|
3238
|
+
};
|
|
3239
|
+
const useLocalStorage = (key, initialValue) => {
|
|
3240
|
+
const state = qwik.useSignal(initialValue);
|
|
3241
|
+
qwik.useVisibleTask$(() => {
|
|
3242
|
+
try {
|
|
3243
|
+
const item = localStorage.getItem(key);
|
|
3244
|
+
if (item !== null) {
|
|
3245
|
+
state.value = JSON.parse(item);
|
|
3246
|
+
}
|
|
3247
|
+
} catch (e) {
|
|
3248
|
+
console.warn(`useLocalStorage: failed to read "${key}"`, e);
|
|
3249
|
+
}
|
|
3250
|
+
}, {
|
|
3251
|
+
strategy: "document-ready"
|
|
3252
|
+
});
|
|
3253
|
+
const set = qwik.$((value) => {
|
|
3254
|
+
try {
|
|
3255
|
+
state.value = value;
|
|
3256
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
3257
|
+
} catch (e) {
|
|
3258
|
+
console.warn(`useLocalStorage: failed to write "${key}"`, e);
|
|
3259
|
+
}
|
|
3260
|
+
});
|
|
3261
|
+
const remove = qwik.$(() => {
|
|
3262
|
+
try {
|
|
3263
|
+
state.value = initialValue;
|
|
3264
|
+
localStorage.removeItem(key);
|
|
3265
|
+
} catch (e) {
|
|
3266
|
+
console.warn(`useLocalStorage: failed to remove "${key}"`, e);
|
|
3267
|
+
}
|
|
3268
|
+
});
|
|
3269
|
+
return {
|
|
3270
|
+
state,
|
|
3271
|
+
set,
|
|
3272
|
+
remove
|
|
3273
|
+
};
|
|
3274
|
+
};
|
|
3215
3275
|
exports.ElmBlockFallback = ElmBlockFallback;
|
|
3216
3276
|
exports.ElmBlockImage = ElmBlockImage;
|
|
3217
3277
|
exports.ElmBlockQuote = ElmBlockQuote;
|
|
@@ -3250,3 +3310,7 @@ exports.ElmTextField = ElmTextField;
|
|
|
3250
3310
|
exports.ElmToggle = ElmToggle;
|
|
3251
3311
|
exports.ElmToggleTheme = ElmToggleTheme;
|
|
3252
3312
|
exports.ElmValidation = ElmValidation;
|
|
3313
|
+
exports.useDelayedSignal = useDelayedSignal;
|
|
3314
|
+
exports.useElmethisTheme = useElmethisTheme;
|
|
3315
|
+
exports.useInView = useInView;
|
|
3316
|
+
exports.useLocalStorage = useLocalStorage;
|
package/lib/index.qwik.mjs
CHANGED
|
@@ -2721,7 +2721,7 @@ const styles$6 = {
|
|
|
2721
2721
|
};
|
|
2722
2722
|
const useInView = (props) => {
|
|
2723
2723
|
const ref = useSignal();
|
|
2724
|
-
const isVisible = useSignal(false);
|
|
2724
|
+
const isVisible = useSignal(props?.defaultValue ?? false);
|
|
2725
2725
|
useVisibleTask$(() => {
|
|
2726
2726
|
if (!ref.value) return;
|
|
2727
2727
|
const observer = new IntersectionObserver(([entry]) => {
|
|
@@ -3210,6 +3210,66 @@ const ElmMarkdown = component$(({ markdown }) => {
|
|
|
3210
3210
|
children: elements
|
|
3211
3211
|
});
|
|
3212
3212
|
});
|
|
3213
|
+
const useDelayedSignal = (initialValue) => {
|
|
3214
|
+
const signal = useSignal(initialValue);
|
|
3215
|
+
const delayedSignal = useSignal(initialValue);
|
|
3216
|
+
const isSignalChanging = useSignal(false);
|
|
3217
|
+
const dispatch = $((value, delay) => {
|
|
3218
|
+
isSignalChanging.value = true;
|
|
3219
|
+
signal.value = value;
|
|
3220
|
+
if (delay === void 0 || delay <= 0) {
|
|
3221
|
+
delayedSignal.value = value;
|
|
3222
|
+
isSignalChanging.value = false;
|
|
3223
|
+
} else {
|
|
3224
|
+
const timerId = setTimeout(() => {
|
|
3225
|
+
delayedSignal.value = value;
|
|
3226
|
+
isSignalChanging.value = false;
|
|
3227
|
+
clearTimeout(timerId);
|
|
3228
|
+
}, delay);
|
|
3229
|
+
}
|
|
3230
|
+
});
|
|
3231
|
+
return {
|
|
3232
|
+
signal,
|
|
3233
|
+
delayedSignal,
|
|
3234
|
+
dispatch
|
|
3235
|
+
};
|
|
3236
|
+
};
|
|
3237
|
+
const useLocalStorage = (key, initialValue) => {
|
|
3238
|
+
const state = useSignal(initialValue);
|
|
3239
|
+
useVisibleTask$(() => {
|
|
3240
|
+
try {
|
|
3241
|
+
const item = localStorage.getItem(key);
|
|
3242
|
+
if (item !== null) {
|
|
3243
|
+
state.value = JSON.parse(item);
|
|
3244
|
+
}
|
|
3245
|
+
} catch (e) {
|
|
3246
|
+
console.warn(`useLocalStorage: failed to read "${key}"`, e);
|
|
3247
|
+
}
|
|
3248
|
+
}, {
|
|
3249
|
+
strategy: "document-ready"
|
|
3250
|
+
});
|
|
3251
|
+
const set = $((value) => {
|
|
3252
|
+
try {
|
|
3253
|
+
state.value = value;
|
|
3254
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
3255
|
+
} catch (e) {
|
|
3256
|
+
console.warn(`useLocalStorage: failed to write "${key}"`, e);
|
|
3257
|
+
}
|
|
3258
|
+
});
|
|
3259
|
+
const remove = $(() => {
|
|
3260
|
+
try {
|
|
3261
|
+
state.value = initialValue;
|
|
3262
|
+
localStorage.removeItem(key);
|
|
3263
|
+
} catch (e) {
|
|
3264
|
+
console.warn(`useLocalStorage: failed to remove "${key}"`, e);
|
|
3265
|
+
}
|
|
3266
|
+
});
|
|
3267
|
+
return {
|
|
3268
|
+
state,
|
|
3269
|
+
set,
|
|
3270
|
+
remove
|
|
3271
|
+
};
|
|
3272
|
+
};
|
|
3213
3273
|
export {
|
|
3214
3274
|
ElmBlockFallback,
|
|
3215
3275
|
ElmBlockImage,
|
|
@@ -3248,5 +3308,9 @@ export {
|
|
|
3248
3308
|
ElmTextField,
|
|
3249
3309
|
ElmToggle,
|
|
3250
3310
|
ElmToggleTheme,
|
|
3251
|
-
ElmValidation
|
|
3311
|
+
ElmValidation,
|
|
3312
|
+
useDelayedSignal,
|
|
3313
|
+
useElmethisTheme,
|
|
3314
|
+
useInView,
|
|
3315
|
+
useLocalStorage
|
|
3252
3316
|
};
|
package/lib-types/index.d.ts
CHANGED
|
@@ -36,3 +36,7 @@ export { ElmTableRow, type ElmTableRowProps, } from "./components/table/elm-tabl
|
|
|
36
36
|
export { ElmTableCell, type ElmTableCellProps, } from "./components/table/elm-table-cell";
|
|
37
37
|
export { ElmJarkup, type ElmJarkupProps } from "./components/others/elm-jarkup";
|
|
38
38
|
export { ElmMarkdown, type ElmMarkdownProps, } from "./components/others/elm-markdown";
|
|
39
|
+
export { useDelayedSignal } from "./hooks/useDelayedSignal";
|
|
40
|
+
export { useElmethisTheme } from "./hooks/useElmethisTheme";
|
|
41
|
+
export { useInView } from "./hooks/useInView";
|
|
42
|
+
export { useLocalStorage } from "./hooks/useLocalStorage";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elmethis/qwik",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.24",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"eslint-plugin-qwik": "1.19.1",
|
|
48
48
|
"globals": "17.4.0",
|
|
49
49
|
"jarkup-ts": "^0.8.0",
|
|
50
|
-
"np": "^
|
|
50
|
+
"np": "^11.0.2",
|
|
51
51
|
"prettier": "3.6.2",
|
|
52
52
|
"sass": "^1.97.3",
|
|
53
53
|
"storybook": "8",
|