Merge branch 'hotfix/i18n-language-storage' into 'main'

fix: resolve circular dependency in language imports

See merge request crux/admin!23
This commit is contained in:
Igor Martyniuk
2026-06-30 07:59:51 +00:00
15 changed files with 101 additions and 27 deletions
+19
View File
@@ -0,0 +1,19 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.0.1] - 2026-06-30
### Fixed
- Resolved a circular dependency in language imports that could crash the admin app during language
initialization.
- Exposed the provider `languages` list through `I18nProvider` instead of importing the language
config directly in `UserDropdownMenu`.
- Updated language selection in `UserDropdownMenu` to use the provider-supplied `languages`
collection, preventing inconsistent state during rendering.
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@crux-kit/admin-app",
"private": true,
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"scripts": {
"dev": "vite",
+1
View File
@@ -16,6 +16,7 @@ export interface Language {
}
export interface I18nProviderProps {
languages: Language[];
currenLanguage: Language;
isRTL: () => boolean;
changeLanguage: (lang: Language) => void;
@@ -32,6 +32,7 @@ const getInitialLanguage = () => {
};
const initialProps: I18nProviderProps = {
languages: I18N_LANGUAGES,
currenLanguage: getInitialLanguage(),
changeLanguage: (_: Language) => {},
isRTL: () => false
@@ -60,6 +61,7 @@ const I18nProvider = ({ children }: PropsWithChildren) => {
return (
<TranslationsContext.Provider
value={{
languages: I18N_LANGUAGES,
isRTL,
currenLanguage,
changeLanguage
@@ -3,7 +3,6 @@ import { useTheme } from 'next-themes';
import { ReactNode } from 'react';
import { useIntl } from 'react-intl';
import { Link } from 'react-router';
import { I18N_LANGUAGES } from '#app/i18n/config';
import { Language } from '#app/i18n/types';
import { IntlName } from '#infrastructure/IntlName';
import { useAuth } from '#core/Auth/providers/AuthProvider';
@@ -18,7 +17,7 @@ export function UserDropdownMenu({ trigger }: { trigger: ReactNode }) {
const intl = useIntl();
const { logout, user } = useAuth();
const { currenLanguage, changeLanguage } = useLanguage();
const { currenLanguage, languages, changeLanguage } = useLanguage();
const { resolvedTheme, setTheme } = useTheme();
const displayName = user
@@ -110,11 +109,11 @@ export function UserDropdownMenu({ trigger }: { trigger: ReactNode }) {
<DropdownMenuRadioGroup
value={currenLanguage.code}
onValueChange={(value) => {
const selectedLang = I18N_LANGUAGES.find((lang) => lang.code === value);
const selectedLang = languages.find((lang) => lang.code === value);
if (selectedLang) handleLanguage(selectedLang);
}}
>
{I18N_LANGUAGES.map((item) => (
{languages.map((item) => (
<DropdownMenuRadioItem
key={item.code}
value={item.code}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/backend",
"version": "1.0.0",
"version": "1.0.1",
"private": true,
"type": "module",
"license": "UNLICENSED",
+66 -13
View File
@@ -1,12 +1,12 @@
{
"name": "crux",
"version": "1.0.0",
"version": "1.0.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "crux",
"version": "1.0.0",
"version": "1.0.1",
"license": "UNLICENSED",
"workspaces": [
"apps/*",
@@ -46,7 +46,7 @@
},
"apps/admin": {
"name": "@crux-kit/admin-app",
"version": "1.0.0",
"version": "1.0.1",
"dependencies": {
"@crux-kit/hooks": "*",
"@crux-kit/intl-date": "*",
@@ -166,7 +166,7 @@
},
"backend": {
"name": "@crux-kit/backend",
"version": "1.0.0",
"version": "1.0.1",
"license": "UNLICENSED",
"dependencies": {
"@adonisjs/auth": "^9.4.0",
@@ -490,6 +490,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/application/-/application-8.4.2.tgz",
"integrity": "sha512-gxyQgl1n7M/hv7ZKQOlTo2adBMehjEO0ssWSG3AGW2RXdCvkHQKlatFXMuXJMmGg2P1AWJX0LEiXey9+qxC9Uw==",
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/hooks": "^7.2.5",
"@poppinss/macroable": "^1.0.4",
@@ -511,6 +512,7 @@
"integrity": "sha512-csLdMW58cwuRjdPEDE0dqwHZCT5snCh+1sQ19HPnQ/BLKPPAvQdDRdw0atoC8LVmouB8ghXVHp3SxnVxlvXYWQ==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@adonisjs/env": "^6.1.0",
"@antfu/install-pkg": "^0.4.1",
@@ -875,6 +877,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/config/-/config-5.0.3.tgz",
"integrity": "sha512-dO7gkYxZsrsnR8n7d5KUpyi+Q5c6BnV2rmFDqEmEjz5AkOZLLzJJJbeHgMb+M27le7ifEUoa8MRu6RED8NMsJg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/utils": "^6.9.4"
},
@@ -887,6 +890,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/core/-/core-6.21.0.tgz",
"integrity": "sha512-0NmVdl8h5A5jdeKlV+XLGjLw9aSEWXBsga1WEMugAJMJiOHf4ufDWc+Rq+KN062/0IK7or9/4yCt3TxkGJsDWw==",
"license": "MIT",
"peer": true,
"dependencies": {
"@adonisjs/ace": "^13.4.0",
"@adonisjs/application": "^8.4.2",
@@ -1072,6 +1076,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/encryption/-/encryption-6.0.2.tgz",
"integrity": "sha512-37XqVPsZi6zXMbC0Me1/qlcTP0uE+KAtYOFx7D7Tvtz377NL/6gqxqgpW/BopgOSD+CVDXjzO/Wx3M2UrbkJRQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/utils": "^6.7.3"
},
@@ -1179,6 +1184,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/fold/-/fold-10.2.1.tgz",
"integrity": "sha512-WuW62T3jZB0w/7C7YbDkfzIMJaEQZ2cGdf6qoeevB0zYNH4kTp2oREfTx45ndNjiN6D5GhjoR8JRpjiAfppFIA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/utils": "^7.0.0-next.3",
"parse-imports": "^2.2.1"
@@ -1243,6 +1249,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/http-server/-/http-server-7.8.1.tgz",
"integrity": "sha512-ScwKHJstXQbkQXSNqD6MOESowZ+WhRyDXxjSQV/T7IpyMEg/F8NxpR5jAvrpw1BaGzd3t50LrgTrb7ouD8DOpA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@paralleldrive/cuid2": "^2.2.2",
"@poppinss/macroable": "^1.0.4",
@@ -1307,6 +1314,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/logger/-/logger-6.0.7.tgz",
"integrity": "sha512-zeWk14EuFGD+YrwLfwrzUcEKS06equr1Xn624+b28H3s0JhjmgXNfsDRlBe9X+GgJiuD8Zf3/52MX//7cGaNWQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/utils": "^6.10.1",
"abstract-logging": "^2.0.1",
@@ -1321,6 +1329,7 @@
"resolved": "https://registry.npmjs.org/@adonisjs/lucid/-/lucid-21.8.2.tgz",
"integrity": "sha512-+ocmllAr77cc7EgQoDQokNpB3lz1Rmw0olcNtx7TbR8TeCAiegDAkNe1HylKzNOGX+i0kvb0FeOvSlZ9N0GmXQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@adonisjs/presets": "^2.6.4",
"@faker-js/faker": "^9.9.0",
@@ -1649,6 +1658,7 @@
"resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1064.0.tgz",
"integrity": "sha512-6OQhE4Qpt94oTw7ruBHE2E6/PS57alsCSdemMf4c3gBSUM0emoXRRykYffFSL56oluL49AZh/DLWRnQafynbLg==",
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"@aws-crypto/sha1-browser": "5.2.0",
"@aws-crypto/sha256-browser": "5.2.0",
@@ -1892,6 +1902,7 @@
"resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.1064.0.tgz",
"integrity": "sha512-BYha6t2emy50ld7wvtLkrhMsibaGNlgg1TzMXrbkof3QP+9usjikabdOI429uGyhUzklC4amPnxWLzWxP+AjIw==",
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"@aws-sdk/core": "^3.974.19",
"@aws-sdk/signature-v4-multi-region": "^3.996.33",
@@ -2015,6 +2026,7 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@@ -2517,6 +2529,7 @@
}
],
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},
@@ -2539,6 +2552,7 @@
}
],
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
}
@@ -2648,6 +2662,7 @@
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -3069,6 +3084,7 @@
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -3749,6 +3765,7 @@
"resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz",
"integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@dnd-kit/accessibility": "^3.1.1",
"@dnd-kit/utilities": "^3.2.2",
@@ -4659,6 +4676,7 @@
"integrity": "sha512-F0/Hrcfpy8WuxlQyAWJTEren/uxKhYonOGY4OyWmwRdeTvkh9mMSCxowZLjNkhwi/2ipqCgtXwwOk7tW0mWXkA==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"@babel/generator": "^7.26.2",
"@babel/parser": "^7.26.2",
@@ -4682,6 +4700,7 @@
"integrity": "sha512-dICbeEkgGRpjkm3CviOpvPfYMBZddaoW2w20pgNMm3CfvD2bixWOFn6FBRZRq5L+fHYe/O/xfSNGMCQBFy7Zlw==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/hooks": "^7.3.0",
"@poppinss/macroable": "^1.1.0",
@@ -4714,6 +4733,7 @@
"integrity": "sha512-Krgrcee01BN1StlVwK5JQP6LL5t3DE3uFNbfFoDTfW7kQuHB0xh6yfaV0hrgcoiEjsqmm2OOsVWeju9aXK4vIA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/macroable": "^1.1.0",
"@types/chai": "^5.2.3",
@@ -4831,6 +4851,7 @@
"integrity": "sha512-M2LUtHhKr4KgBfX73tDHNCD1IOmcXp9dvC+AinmRxsggIFnarsClcfjT/sXc3uNzjZW7Lk31LvcH76AxJHBmJQ==",
"devOptional": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18.16.0"
},
@@ -4859,6 +4880,7 @@
"integrity": "sha512-F5BWRY20V5D40EUXK+O4bd1IZ7pNpsz/ct2YJGjXa3NXwVJFjGCv8NYBxlUUlfLJyfXNXlLKi+iIjbaMq2UWIQ==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@japa/core": "^10.3.0",
"@japa/errors-printer": "^4.1.3",
@@ -7732,6 +7754,7 @@
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.js/-/svg.js-3.2.5.tgz",
"integrity": "sha512-/VNHWYhNu+BS7ktbYoVGrCmsXDh+chFMaONMwGNdIBcFHrWqk2jY8fNyr3DLdtQUIalvkPfM554ZSFa3dm3nxQ==",
"license": "MIT",
"peer": true,
"funding": {
"type": "github",
"url": "https://github.com/sponsors/Fuzzyma"
@@ -7755,6 +7778,7 @@
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.select.js/-/svg.select.js-4.0.3.tgz",
"integrity": "sha512-qkMgso1sd2hXKd1FZ1weO7ANq12sNmQJeGDjs46QwDVsxSRcHmvWKL2NDF7Yimpwf3sl5esOLkPqtV2bQ3v/Jg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">= 14.18"
},
@@ -7769,6 +7793,7 @@
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"@swc/counter": "^0.1.3",
"@swc/types": "^0.1.21"
@@ -8292,6 +8317,7 @@
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.11.tgz",
"integrity": "sha512-J0f9s5x3LE1450nNNfYx+e/n0DMa0uOBdFJUy5r0RvmsXd4nB/n0rbHtHI1vYXhikNFan+wf51p6Tmp4c8ucrg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@tanstack/query-core": "5.100.11"
},
@@ -8574,6 +8600,7 @@
"integrity": "sha512-7Ec1zaFPF4RJ0eXu1YT/xgiebqwqoJz8rYPDi/O2BcZ++Wpt0Kq9cl0eg6NN6bYbPnR67ZLo7St5Q3UK0SnARw==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"undici-types": "~6.21.0"
}
@@ -8609,6 +8636,7 @@
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz",
"integrity": "sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==",
"license": "MIT",
"peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
@@ -8619,6 +8647,7 @@
"integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
"devOptional": true,
"license": "MIT",
"peer": true,
"peerDependencies": {
"@types/react": "^19.2.0"
}
@@ -8720,6 +8749,7 @@
"integrity": "sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.33.0",
"@typescript-eslint/types": "8.33.0",
@@ -9109,6 +9139,7 @@
"resolved": "https://registry.npmjs.org/@vinejs/vine/-/vine-3.0.1.tgz",
"integrity": "sha512-ZtvYkYpZOYdvbws3uaOAvTFuvFXoQGAtmzeiXu+XSMGxi5GVsODpoI9Xu9TplEMuD/5fmAtBbKb9cQHkWkLXDQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@poppinss/macroable": "^1.0.4",
"@types/validator": "^13.12.2",
@@ -9360,6 +9391,7 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -9561,6 +9593,7 @@
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-4.7.0.tgz",
"integrity": "sha512-iZSrrBGvVlL+nt2B1NpqfDuBZ9jX61X9I2+XV0hlYXHtTwhwLTHDKGXjNXAgFBDLuvSYCB/rq2nPWVPRv2DrGA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@svgdotjs/svg.draggable.js": "^3.0.4",
"@svgdotjs/svg.filter.js": "^3.0.8",
@@ -9810,6 +9843,7 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.10.12",
"caniuse-lite": "^1.0.30001782",
@@ -10586,6 +10620,7 @@
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -10661,6 +10696,7 @@
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.2.1.tgz",
"integrity": "sha512-37RhSdxaG1suen6VDCza6rNrQfooyQh57HFVPwQGEq2QWliVLzPQZ8Oa017weOu+HZCnzI7N3Pf/wyoBKfEqrA==",
"license": "MIT",
"peer": true,
"funding": {
"type": "github",
"url": "https://github.com/sponsors/kossnocorp"
@@ -11121,6 +11157,7 @@
"integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
@@ -11182,6 +11219,7 @@
"integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
@@ -13892,6 +13930,7 @@
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz",
"integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
}
@@ -14111,6 +14150,7 @@
"resolved": "https://registry.npmjs.org/mobx/-/mobx-6.15.3.tgz",
"integrity": "sha512-6+ZSYDs5zgH5CdGfEU2q2Lsa5PztVryL1ys7kAImTU25n2A9LAMj/yneVsQpd03MfwMLDQF+7kakJR9Z+cQxSw==",
"license": "MIT",
"peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mobx"
@@ -14997,6 +15037,7 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"nanoid": "^3.3.12",
"picocolors": "^1.1.1",
@@ -15566,6 +15607,7 @@
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -15910,6 +15952,7 @@
"integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -16318,6 +16361,7 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz",
"integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -16362,6 +16406,7 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz",
"integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==",
"license": "MIT",
"peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@@ -16383,6 +16428,7 @@
"resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.76.0.tgz",
"integrity": "sha512-eKtLGgFeSgkHqQD8J59AMZ9a4uD1D83iSIzt4YlTGD7liDen5rrjcUO1rVIGd9yC1gofryjtHbv+4ny4hkLWlw==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18.0.0"
},
@@ -17728,7 +17774,8 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz",
"integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==",
"license": "MIT"
"license": "MIT",
"peer": true
},
"node_modules/tailwindcss-animate": {
"version": "1.0.7",
@@ -17870,7 +17917,8 @@
"version": "7.9.3",
"resolved": "https://registry.npmjs.org/tinymce/-/tinymce-7.9.3.tgz",
"integrity": "sha512-Mtm54U5YJ6Pyo/GaAx+JSHXTGEuxrg2AowVWCD9zy1eBolp5Ub7S1rTtsyQdxhPegfhLuR3VLiTKGw1tacv09g==",
"license": "GPL-2.0-or-later"
"license": "GPL-2.0-or-later",
"peer": true
},
"node_modules/tinyrainbow": {
"version": "3.1.0",
@@ -18019,6 +18067,7 @@
"integrity": "sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==",
"devOptional": true,
"license": "MIT",
"peer": true,
"dependencies": {
"esbuild": "~0.28.0"
},
@@ -18106,6 +18155,7 @@
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -18173,6 +18223,7 @@
"integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.32.1",
"@typescript-eslint/types": "8.32.1",
@@ -18606,6 +18657,7 @@
"resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz",
"integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.4",
@@ -19435,6 +19487,7 @@
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
"license": "ISC",
"peer": true,
"bin": {
"yaml": "bin.mjs"
},
@@ -19543,12 +19596,12 @@
},
"packages/design-system/keenicon": {
"name": "@crux-kit/keenicon",
"version": "1.0.0",
"version": "1.0.1",
"devDependencies": {}
},
"packages/hooks": {
"name": "@crux-kit/hooks",
"version": "1.0.0",
"version": "1.0.1",
"dependencies": {
"@crux-kit/types": "*"
},
@@ -19556,7 +19609,7 @@
},
"packages/services/intl-date": {
"name": "@crux-kit/intl-date",
"version": "1.0.0",
"version": "1.0.1",
"dependencies": {
"@crux-kit/types": "*"
},
@@ -19564,7 +19617,7 @@
},
"packages/services/intl-name": {
"name": "@crux-kit/intl-name",
"version": "1.0.0",
"version": "1.0.1",
"dependencies": {
"@crux-kit/types": "*"
},
@@ -19572,17 +19625,17 @@
},
"packages/services/local-storage": {
"name": "@crux-kit/local-storage",
"version": "1.0.0",
"version": "1.0.1",
"devDependencies": {}
},
"packages/types": {
"name": "@crux-kit/types",
"version": "1.0.0",
"version": "1.0.1",
"devDependencies": {}
},
"packages/utils": {
"name": "@crux-kit/utils",
"version": "1.0.0",
"version": "1.0.1",
"dependencies": {
"@crux-kit/types": "*"
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "crux",
"version": "1.0.0",
"version": "1.0.1",
"private": true,
"type": "module",
"license": "UNLICENSED",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/keenicon",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"types": "src/index.ts",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/hooks",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"types": "src/index.ts",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/intl-date",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"types": "src/index.ts",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/intl-name",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"types": "src/index.ts",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/local-storage",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"types": "src/index.ts",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/types",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"types": "src/index.ts",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@crux-kit/utils",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",
"types": "src/index.ts",
"private": true,