lino-react 26.3.2__tar.gz → 26.4.0__tar.gz
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.
- {lino_react-26.3.2 → lino_react-26.4.0}/PKG-INFO +1 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/__init__.py +1 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/__init__.py +22 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/ActionHandler.tsx +57 -16
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/App.jsx +70 -5
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/AppTopbar.jsx +8 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/AutoComplete.tsx +37 -11
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/ForeignKeyElement.jsx +3 -3
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoBbar.jsx +58 -15
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoBody.jsx +1 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoComponentUtils.jsx +17 -13
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoComponents.jsx +18 -13
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoDialog.jsx +15 -4
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoToolbar.jsx +2 -2
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/SiteContext.jsx +7 -0
- lino_react-26.4.0/lino_react/react/components/__tests__/avanti/URLContext.ts +62 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/constants.js +5 -2
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/datetime.jsx +1 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/i18n.js +2 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/index.html +18 -7
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/layout.css +4 -3
- lino_react-26.4.0/lino_react/react/components/quillmodules.css +153 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/quillmodules.tsx +6 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/types.ts +5 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/config/react/main.html +20 -9
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/config/react/service-worker.js +1 -1
- lino_react-26.4.0/lino_react/react/models.py +155 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/renderer.py +3 -2
- lino_react-26.3.2/lino_react/react/static/react/main.2756.ac341526fda619d30fab.js → lino_react-26.4.0/lino_react/react/static/react/main.2756.95864ac83fc15d6b0b82.js +2 -2
- lino_react-26.4.0/lino_react/react/static/react/main.2756.95864ac83fc15d6b0b82.js.map +1 -0
- lino_react-26.4.0/lino_react/react/static/react/main.AppCSS.209c81af3f29c5749cd3.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.AppCSS.209c81af3f29c5749cd3.js.map +1 -0
- lino_react-26.4.0/lino_react/react/static/react/main.AutoComplete_LinoToolbar.cf19b579eb6fb6f0a2e8.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.AutoComplete_LinoToolbar.cf19b579eb6fb6f0a2e8.js.map +1 -0
- lino_react-26.4.0/lino_react/react/static/react/main.LinoBbar_LinoDialog.341f3c3680557dd32bee.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.LinoBbar_LinoDialog.341f3c3680557dd32bee.js.map +1 -0
- lino_react-26.3.2/lino_react/react/static/react/main.LinoBody_SiteContext.5ef9a415b591579569c3.js → lino_react-26.4.0/lino_react/react/static/react/main.LinoBody_SiteContext.83c91b2a4d4a57bea322.js +2 -2
- lino_react-26.3.2/lino_react/react/static/react/main.LinoBody_SiteContext.5ef9a415b591579569c3.js.map → lino_react-26.4.0/lino_react/react/static/react/main.LinoBody_SiteContext.83c91b2a4d4a57bea322.js.map +1 -1
- lino_react-26.4.0/lino_react/react/static/react/main.LinoComponents_LinoDetail.31eca1b4571b5a3a98ed.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.LinoComponents_LinoDetail.31eca1b4571b5a3a98ed.js.map +1 -0
- lino_react-26.3.2/lino_react/react/static/react/main.LinoEditor_LinoBody.eb8ebc2f38ecb8e57e8a.js → lino_react-26.4.0/lino_react/react/static/react/main.LinoEditor_LinoBody.bcd4e88f267d0f4ae445.js +1 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoEditor_LinoBody.eb8ebc2f38ecb8e57e8a.js.map → lino_react-26.4.0/lino_react/react/static/react/main.LinoEditor_LinoBody.bcd4e88f267d0f4ae445.js.map +1 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoParamsPanel_LinoComponents.6282c7a17d32eb4e8b8f.js → lino_react-26.4.0/lino_react/react/static/react/main.LinoParamsPanel_LinoComponents.f9631ddb0e35aecfd8b8.js +1 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoParamsPanel_LinoComponents.6282c7a17d32eb4e8b8f.js.map → lino_react-26.4.0/lino_react/react/static/react/main.LinoParamsPanel_LinoComponents.f9631ddb0e35aecfd8b8.js.map +1 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoToolbar_LinoComponents.c84605f4db68f0c928d0.js → lino_react-26.4.0/lino_react/react/static/react/main.LinoToolbar_LinoComponents.9a020485b6f33704398a.js +2 -2
- lino_react-26.3.2/lino_react/react/static/react/main.LinoToolbar_LinoComponents.c84605f4db68f0c928d0.js.map → lino_react-26.4.0/lino_react/react/static/react/main.LinoToolbar_LinoComponents.9a020485b6f33704398a.js.map +1 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoUtils_LinoBody.63f80b38a06d8ba0df07.js → lino_react-26.4.0/lino_react/react/static/react/main.LinoUtils_LinoBody.aa92f16371fb6681d5c0.js +1 -1
- lino_react-26.4.0/lino_react/react/static/react/main.LinoUtils_LinoBody.aa92f16371fb6681d5c0.js.map +1 -0
- lino_react-26.3.2/lino_react/react/static/react/main.LinoWebCam_LinoDialog.141ef346d406c1521c8f.js → lino_react-26.4.0/lino_react/react/static/react/main.LinoWebCam_LinoDialog.777987627117c4e3e0e0.js +1 -1
- lino_react-26.4.0/lino_react/react/static/react/main.LinoWebCam_LinoDialog.777987627117c4e3e0e0.js.map +1 -0
- lino_react-26.4.0/lino_react/react/static/react/main.NavigationControl_SiteContext.126851c361b7be85940d.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.NavigationControl_SiteContext.126851c361b7be85940d.js.map +1 -0
- lino_react-26.4.0/lino_react/react/static/react/main.SiteContext_LinoComponentUtils.42a677b4e0f7b41ac5ae.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.SiteContext_LinoComponentUtils.42a677b4e0f7b41ac5ae.js.map +1 -0
- lino_react-26.3.2/lino_react/react/static/react/main.ToolbarComponents_LinoComponents.7a6ec49f486def4667b7.js → lino_react-26.4.0/lino_react/react/static/react/main.ToolbarComponents_LinoComponents.0ff4f9f8bb7fb3bb3813.js +1 -1
- lino_react-26.3.2/lino_react/react/static/react/main.ToolbarComponents_LinoComponents.7a6ec49f486def4667b7.js.map → lino_react-26.4.0/lino_react/react/static/react/main.ToolbarComponents_LinoComponents.0ff4f9f8bb7fb3bb3813.js.map +1 -1
- lino_react-26.4.0/lino_react/react/static/react/main.datetime_GridElement.1ae8fc1312991999ff08.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.datetime_GridElement.1ae8fc1312991999ff08.js.map +1 -0
- lino_react-26.4.0/lino_react/react/static/react/main.e5da7bca814d0bb84b31.js +3 -0
- lino_react-26.4.0/lino_react/react/static/react/main.e5da7bca814d0bb84b31.js.map +1 -0
- lino_react-26.3.2/lino_react/react/static/react/main.i18n_App.c4f6545878f1c9bd5f92.js → lino_react-26.4.0/lino_react/react/static/react/main.i18n_App.607a11e5e3662859edbc.js +1 -1
- lino_react-26.4.0/lino_react/react/static/react/main.i18n_App.607a11e5e3662859edbc.js.map +1 -0
- lino_react-26.3.2/lino_react/react/static/react/main.quillmodules_LinoEditor.6bfc6668546f881c09b2.js → lino_react-26.4.0/lino_react/react/static/react/main.quillmodules_LinoEditor.62ef9569bc06f7424a66.js +1 -1
- lino_react-26.4.0/lino_react/react/static/react/main.quillmodules_LinoEditor.62ef9569bc06f7424a66.js.map +1 -0
- lino_react-26.4.0/lino_react/react/static/react/main.quillmodules_TextFieldElement.5ebda0c2d0d50121b791.js +2 -0
- lino_react-26.4.0/lino_react/react/static/react/main.quillmodules_TextFieldElement.5ebda0c2d0d50121b791.js.map +1 -0
- lino_react-26.3.2/lino_react/react/static/react/main.runtime.43dfb5791038594a762e.js → lino_react-26.4.0/lino_react/react/static/react/main.runtime.b6ba791b476c3be77755.js +2 -2
- lino_react-26.3.2/lino_react/react/static/react/main.runtime.43dfb5791038594a762e.js.map → lino_react-26.4.0/lino_react/react/static/react/main.runtime.b6ba791b476c3be77755.js.map +1 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/views.py +60 -5
- {lino_react-26.3.2 → lino_react-26.4.0}/puppeteers/avanti/settings.py +4 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/tasks.py +1 -0
- lino_react-26.3.2/lino_react/react/components/__tests__/avanti/URLContext.ts +0 -82
- lino_react-26.3.2/lino_react/react/components/quillmodules.css +0 -95
- lino_react-26.3.2/lino_react/react/models.py +0 -70
- lino_react-26.3.2/lino_react/react/static/react/main.2756.ac341526fda619d30fab.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.85d745cb8e3559738e9c.js +0 -3
- lino_react-26.3.2/lino_react/react/static/react/main.85d745cb8e3559738e9c.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.AppCSS.1dcd3e49b277f41bd22d.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.AppCSS.1dcd3e49b277f41bd22d.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.AutoComplete_LinoToolbar.39c08b20ca753dae1388.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.AutoComplete_LinoToolbar.39c08b20ca753dae1388.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoBbar_LinoDialog.c7d7c08219a11f8090d9.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.LinoBbar_LinoDialog.c7d7c08219a11f8090d9.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoComponents_LinoDetail.b3d4ebe97f22b7c19021.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.LinoComponents_LinoDetail.b3d4ebe97f22b7c19021.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoUtils_LinoBody.63f80b38a06d8ba0df07.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.LinoWebCam_LinoDialog.141ef346d406c1521c8f.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.NavigationControl_SiteContext.699203dad6e0509850a7.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.NavigationControl_SiteContext.699203dad6e0509850a7.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.SiteContext_LinoComponentUtils.47f68bc73c57c0031171.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.SiteContext_LinoComponentUtils.47f68bc73c57c0031171.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.datetime_GridElement.66b3045f36e80713789b.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.datetime_GridElement.66b3045f36e80713789b.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.i18n_App.c4f6545878f1c9bd5f92.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.quillmodules_LinoEditor.6bfc6668546f881c09b2.js.map +0 -1
- lino_react-26.3.2/lino_react/react/static/react/main.quillmodules_TextFieldElement.f4a342ee516e0abc8284.js +0 -2
- lino_react-26.3.2/lino_react/react/static/react/main.quillmodules_TextFieldElement.f4a342ee516e0abc8284.js.map +0 -1
- {lino_react-26.3.2 → lino_react-26.4.0}/.coveragerc +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/.gitignore +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/.gitlab-ci.yml +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/.travis.yml +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/CHANGELOG.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/CONTRIBUTING.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/COPYING +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/CSSStub.mjs +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/MANIFEST.in +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/README.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/RTL_NETWORK_TESTING.md +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/babel.config.mjs +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/build.sh +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/cypress.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/dev-app-update.yml +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/.templates/layout.html +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/.templates/links.html +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/.templates/page.html +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/about/index.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/about/noi-robin-extjs.png +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/about/noi-robin-react.png +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/changes/0.0.0.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/changes/0.1.0.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/changes/2020.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/changes/index.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/conf.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/dev/App.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/dev/Base.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/dev/NavigationControl.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/dev/index.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/dev/py.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/guide/build.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/guide/i18n.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/guide/index.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/guide/npm.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/guide/test.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/index.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/docs/typedoc.conf.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electron/main.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electron/preload.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electron/updateProvider.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electron-builder.yml +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electronConfig/app-update.yml +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electronConfig/default-config.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electronConfig/desktop.template +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/electronConfig/lino-react.ico +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/eslint.config.mts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/forge.config.mjs +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/jest-puppeteer.config.mjs +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/jest.config.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/jest_puppeteer_test.sh +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/App.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/AppCSS.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/AppInlineProfile.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/AppMenu.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/AppMenu.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/AppTopBar.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/Base.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/DashboardItems.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/DataProvider.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/GridElement.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/GridElement.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoBbar.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoBody.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoChatter/ConversationList.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoChatter/ConversationListItem.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoChatter/Conversations.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoChatter/GroupChatChooser.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoChatter/LinoChats.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoChatter/LinoChatter.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoChatter/Messenger.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoComponents.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoDataView.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoDataView.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoDetail.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoEditor.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoPaginator.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoParamsPanel.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoToolbar.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoUtils.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LinoWebCam.tsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/LoadingMask.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/NavigationControl.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/TextFieldElement.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/TextFieldElement.jsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/ToolbarComponents.tsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/README.rst +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/URLContext.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/actionHandler.tsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/appLinkTopbar.tsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/cloneUI.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/functional.tsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/integrity.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/paramChanges.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/__tests__/noi/quill.tsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/custom-service-worker.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/custom_hooks.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/layout.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_calander.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_dashboard.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_editor.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_layout.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_main.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_mixins.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_splash.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/layout/sass/_utils.scss +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/preprocessors.tsx +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/components/serviceWorker.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/config/react/linoweb.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/config/react/service-worker.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/config/react/service-worker.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/icons.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/index.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/locale/bn/LC_MESSAGES/django.mo +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/locale/bn/LC_MESSAGES/django.po +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/locale/de/LC_MESSAGES/django.mo +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/locale/de/LC_MESSAGES/django.po +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/locale/django.pot +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/locale/et/LC_MESSAGES/django.po +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/locale/fr/LC_MESSAGES/django.po +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/sphinxconf.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/024b32cc7bf399b1a847.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/8931fda1930c3bd21e96.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/a5c2a53d1ff7a9ff5933.ttf +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/af84cba1cef5b79f2489.svg +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/ff0c4cd79b2ffca2de54.eot +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/locales/bn/translation.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/locales/de/translation.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/locales/en/translation.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/locales/et/translation.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/locales/fr/translation.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2395.8bbe23169fe06fd54eac.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2395.8bbe23169fe06fd54eac.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2544.dbb45af480b8f8906159.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2544.dbb45af480b8f8906159.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2555.f25b73feb4f6c334d0e7.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2555.f25b73feb4f6c334d0e7.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2555.f25b73feb4f6c334d0e7.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2663.2f15a73349351ccef6be.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2663.2f15a73349351ccef6be.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.2663.2f15a73349351ccef6be.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.6799.8109de3c00c8e40536a2.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.6799.8109de3c00c8e40536a2.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.6836.369bdfc75b736d74d1a0.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.6836.369bdfc75b736d74d1a0.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.7135.58c18e294262eb3b7f7f.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.7135.58c18e294262eb3b7f7f.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.7335.40d527c910a959e0b3dd.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.7335.40d527c910a959e0b3dd.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.7335.40d527c910a959e0b3dd.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.8605.899b7207aac937369ad1.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.8605.899b7207aac937369ad1.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.9685.3752a6b84a3e5c918d21.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.9685.3752a6b84a3e5c918d21.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.9897.a0640325f2389539ef52.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.9897.a0640325f2389539ef52.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.DashboardItems_SiteContext.db6580226a3454b431fe.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.DashboardItems_SiteContext.db6580226a3454b431fe.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.NavigationControl_App.51459f304c35cf900b71.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.NavigationControl_App.51459f304c35cf900b71.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.SiteContext_App.356a9759fa5b7969990e.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.SiteContext_App.356a9759fa5b7969990e.js.map +0 -0
- /lino_react-26.3.2/lino_react/react/static/react/main.85d745cb8e3559738e9c.js.LICENSE.txt → /lino_react-26.4.0/lino_react/react/static/react/main.e5da7bca814d0bb84b31.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.lodash_LinoBbar.cb0d57bd9fd5e9eb6325.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.lodash_LinoBbar.cb0d57bd9fd5e9eb6325.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.lodash_LinoBbar.cb0d57bd9fd5e9eb6325.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prAPI_App.c91a0b7ea7c3556e7727.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prAPI_App.c91a0b7ea7c3556e7727.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prAppRequire.d3e88b254e602ecd4c7c.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prAppRequire.d3e88b254e602ecd4c7c.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prButton_App.58643901f6b8782c8ea0.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prButton_App.58643901f6b8782c8ea0.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prCalendar_datetime.9a67044348d1478ff756.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prCalendar_datetime.9a67044348d1478ff756.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prCard_LinoDataView.062d50f6d446ecaf225c.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prCard_LinoDataView.062d50f6d446ecaf225c.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prCheckbox_LinoComponents.3cf3bb05491b2a1f055e.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prCheckbox_LinoComponents.3cf3bb05491b2a1f055e.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDataTable_GridElement.12a3b34c102d1a065fee.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDataTable_GridElement.12a3b34c102d1a065fee.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDataView_LinoDataView.b612103f3f6ae55153cc.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDataView_LinoDataView.b612103f3f6ae55153cc.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDialog_LinoDialog.7b2f925af4058c66db3a.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDialog_LinoDialog.7b2f925af4058c66db3a.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDropDown_LinoPaginator.9caee7a457a7327de568.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prDropDown_LinoPaginator.9caee7a457a7327de568.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prFieldset_LinoComponents.e534eb3254fef30d6b5f.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prFieldset_LinoComponents.e534eb3254fef30d6b5f.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prFileUpload_LinoComponents.6a914a23cd2183ceb71f.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prFileUpload_LinoComponents.6a914a23cd2183ceb71f.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prFlex_AppCSS.d6b883c3c89a35c0fd27.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prFlex_AppCSS.d6b883c3c89a35c0fd27.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prGalleria_LinoDataView.11763f8d831c13466d39.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prGalleria_LinoDataView.11763f8d831c13466d39.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prInputNumber_GridElement.94a8efec3b8d882fe237.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prInputNumber_GridElement.94a8efec3b8d882fe237.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prInputNumber_LinoComponents.67a7e12f671b1a72fd78.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prInputNumber_LinoComponents.67a7e12f671b1a72fd78.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prInputText_GridElement.9ee3334ed7e13e749315.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prInputText_GridElement.9ee3334ed7e13e749315.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLinoBodyRequire.834ca59b77c1f280ee08.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLinoBodyRequire.834ca59b77c1f280ee08.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLinoBodyRequireChunk2.b2d4c41d137bdd79d198.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLinoBodyRequireChunk2.b2d4c41d137bdd79d198.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLinoComponentsRequire.3adbea76bc194d66bbfc.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLinoComponentsRequire.3adbea76bc194d66bbfc.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLocale.743097c3cd8d752132df.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prLocale.743097c3cd8d752132df.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prMultiSelect_GridElement.e8b5de43c8f3b4ebfafd.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prMultiSelect_GridElement.e8b5de43c8f3b4ebfafd.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prOverlayPanel_GridElement.9682fe0a7c41b0a67982.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prOverlayPanel_GridElement.9682fe0a7c41b0a67982.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prPaginator_LinoPaginator.c58fd9e6a557afdaa7f8.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prPaginator_LinoPaginator.c58fd9e6a557afdaa7f8.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prPanel_LinoComponents.65972c1f2658fa696a28.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prPanel_LinoComponents.65972c1f2658fa696a28.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prPassword_LinoComponents.120c4d554f753b1b3e02.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prPassword_LinoComponents.120c4d554f753b1b3e02.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prSelectButton_GridElement.c9c6ba1894ee20a2cbbb.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prSelectButton_GridElement.c9c6ba1894ee20a2cbbb.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prSiteContextRequire.70ad32740c927773f008.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prSiteContextRequire.70ad32740c927773f008.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prSplitButton_LinoBbar.b7158c632c761c1f4c90.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prSplitButton_LinoBbar.b7158c632c761c1f4c90.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prTabView_LinoComponents.8ce34a9bc219db71ffa9.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prTabView_LinoComponents.8ce34a9bc219db71ffa9.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prToast_App.dbfcf317d9ca2356d263.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prToast_App.dbfcf317d9ca2356d263.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prToggleButton_LinoToolbar.ed7eb9ef47cbf7f7bbb4.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prToggleButton_LinoToolbar.ed7eb9ef47cbf7f7bbb4.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prTriStateCheckbox_GridElement.7f634321ef8c82456bc8.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.prTriStateCheckbox_GridElement.7f634321ef8c82456bc8.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.queryString_App.87f6da241a1a79bec441.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.queryString_App.87f6da241a1a79bec441.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.quill.78b1a88b0266b35d88ab.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.quill.78b1a88b0266b35d88ab.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.reactDom_App.f1cf5a6a5029f1b22e52.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.reactDom_App.f1cf5a6a5029f1b22e52.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.reactI18n_SiteContext.703426bc6f2f806774c3.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.reactI18n_SiteContext.703426bc6f2f806774c3.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.reactRouterDom_App.ad13fa8ccaa4f6ca170e.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.reactRouterDom_App.ad13fa8ccaa4f6ca170e.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.reactRouterDom_App.ad13fa8ccaa4f6ca170e.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.tpdep.d31fb3466cb158504e82.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.tpdep.d31fb3466cb158504e82.js.LICENSE.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/main.tpdep.d31fb3466cb158504e82.js.map +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/arya-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/arya-green/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/arya-orange/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/arya-purple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/bootstrap4-dark-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/bootstrap4-dark-purple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/bootstrap4-light-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/bootstrap4-light-purple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/fluent-light/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-amber/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-amber/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-amber/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-blue/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-blue/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-cyan/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-cyan/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-cyan/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-green/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-green/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-green/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-indigo/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-indigo/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-indigo/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-pink/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-pink/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-pink/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-purple/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-purple/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-purple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-teal/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-teal/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-dark-teal/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-amber/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-amber/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-amber/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-blue/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-blue/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-cyan/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-cyan/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-cyan/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-green/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-green/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-green/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-indigo/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-indigo/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-indigo/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-pink/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-pink/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-pink/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-purple/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-purple/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-purple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-teal/fonts/InterVariable-Italic.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-teal/fonts/InterVariable.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/lara-light-teal/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/luna-amber/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/luna-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/luna-green/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/luna-pink/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-deeppurple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-dark-indigo/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-deeppurple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/md-light-indigo/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-deeppurple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-dark-indigo/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-deeppurple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mdc-light-indigo/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-Bold.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-Bold.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-Medium.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-Medium.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-Regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-Regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-SemiBold.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/mira/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/nano/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/nova/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/nova-accent/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/nova-alt/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/rhea/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/saga-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/saga-green/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/saga-orange/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/saga-purple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-dark/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/soho-light/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/tailwind-light/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/vela-blue/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/vela-green/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/vela-orange/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/vela-purple/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-dark/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/static/react/themes/viva-light/theme.css +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/RTL_AUTH_GUIDE.md +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/mocks/emptyMock.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/mocks/quillMentionMock.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/mswHandlers.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/rtlTestHelpers.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/setupJEST.mjs +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/setupTests.ts +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/teardownJEST.mjs +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/react/testSetup/testEnvironment.mjs +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/lino_react/translations/i18n-scan.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/make_messages +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/message_extractors.ini +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/network-testing/README.md +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/network-testing/docs/GITLAB_PACKAGE_REGISTRY.md +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/network-testing/docs/gitlab-ci-example.yml +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/network-testing/logs/README.md +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/network-testing/tools/download_cache_from_gitlab.sh +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/network-testing/tools/migrate_to_ndjson.js +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/network-testing/tools/publish_cache_to_gitlab.sh +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/node_version.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/package-lock.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/package.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/puppeteers/avanti/manage.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/puppeteers/noi/manage.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/puppeteers/noi/settings.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/pyproject.toml +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/pytest.ini +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/requirements.txt +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/tests/__init__.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/tests/test_docs.py +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/tsconfig.json +0 -0
- {lino_react-26.3.2 → lino_react-26.4.0}/webpack.config.js +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# License: GNU Affero General Public License v3 (see file COPYING for details)
|
|
4
4
|
# Source documentation see https://react.lino-framework.org/dev
|
|
5
5
|
|
|
6
|
-
__version__ = '26.
|
|
6
|
+
__version__ = '26.4.0'
|
|
7
7
|
|
|
8
8
|
srcref_url = 'https://gitlab.com/lino-framework/react/blob/master/%s'
|
|
9
9
|
# doc_trees = []
|
|
@@ -46,8 +46,30 @@ class Plugin(Plugin):
|
|
|
46
46
|
app_link_fix_button_label = _("Fix app link settings")
|
|
47
47
|
app_link_dismiss_button_label = _("Dismiss")
|
|
48
48
|
|
|
49
|
+
users_themes = None
|
|
50
|
+
"""Themes that are available for users to choose from.
|
|
51
|
+
|
|
52
|
+
If set to 'all', all themes from `PrimeReactThemes` will be available.
|
|
53
|
+
If set to a whitespace-separated string of theme names, those themes will be available.
|
|
54
|
+
If set to a list of `PrimeReactTheme` values, those themes will be available.
|
|
55
|
+
If set to None, users cannot choose a theme and the default theme will be used.
|
|
56
|
+
"""
|
|
57
|
+
|
|
49
58
|
# media_base_url = "http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/"
|
|
50
59
|
|
|
60
|
+
def before_analyze(self):
|
|
61
|
+
if self.users_themes is not None:
|
|
62
|
+
PrimeReactThemes = self.site.models.react.PrimeReactThemes
|
|
63
|
+
if self.users_themes == 'all':
|
|
64
|
+
self.users_themes = list(PrimeReactThemes.get_list_items())
|
|
65
|
+
elif isinstance(self.users_themes, str):
|
|
66
|
+
self.users_themes = [
|
|
67
|
+
PrimeReactThemes.get_by_value(tn) for tn in self.users_themes.split() if tn]
|
|
68
|
+
else:
|
|
69
|
+
self.users_themes = [PrimeReactThemes.get_by_value(tn) for tn in self.users_themes]
|
|
70
|
+
|
|
71
|
+
return super().before_analyze()
|
|
72
|
+
|
|
51
73
|
def on_ui_init(self, kernel):
|
|
52
74
|
from .renderer import Renderer
|
|
53
75
|
self.renderer = Renderer(self)
|
|
@@ -327,6 +327,8 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
327
327
|
): t.QueryParams | t.StateClone => {
|
|
328
328
|
holder[constants.URL_PARAM_SUBST_USER] = this.context.value[
|
|
329
329
|
constants.URL_PARAM_SUBST_USER];
|
|
330
|
+
// holder[constants.URL_PARAM_COLOR_SCHEME] = this.context.value[
|
|
331
|
+
// constants.URL_PARAM_COLOR_SCHEME];
|
|
330
332
|
holder[constants.URL_PARAM_USER_LANGUAGE] = this.context.value[
|
|
331
333
|
constants.URL_PARAM_USER_LANGUAGE];
|
|
332
334
|
holder[constants.URL_PARAM_LINO_VERSION] = window.Lino[
|
|
@@ -414,14 +416,16 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
414
416
|
return queryParams;
|
|
415
417
|
}
|
|
416
418
|
|
|
417
|
-
getAction = (
|
|
419
|
+
getAction = async (
|
|
418
420
|
action_full_name: string, preprocess: boolean = true
|
|
419
|
-
): {action: t.Action, preprocessedStack: t.PreprocessedStack} => {
|
|
421
|
+
): Promise<{action: t.Action, preprocessedStack: t.PreprocessedStack}> => {
|
|
420
422
|
const action: t.Action = this.context.APP.state.site_data.action_definitions[action_full_name];
|
|
421
423
|
const preprocessedStack: t.PreprocessedStack = {
|
|
422
424
|
[constants.URL_PARAM_ACTION_NAME]: action[constants.URL_PARAM_ACTION_NAME]};
|
|
423
|
-
if (preprocess) this.preprocess(action.preprocessor, preprocessedStack);
|
|
424
|
-
|
|
425
|
+
if (preprocess) await this.preprocess(action.preprocessor, preprocessedStack);
|
|
426
|
+
constants.debugMessage("ActionHandler.getAction(); action_full_name", action_full_name,
|
|
427
|
+
"action", action, "preprocessedStack", preprocessedStack);
|
|
428
|
+
return {action, preprocessedStack};
|
|
425
429
|
}
|
|
426
430
|
|
|
427
431
|
getCallback = (action_name: string): t.ResponseCallback => {
|
|
@@ -672,11 +676,9 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
672
676
|
}
|
|
673
677
|
|
|
674
678
|
if (response_callback) {
|
|
675
|
-
let ret;
|
|
676
|
-
if (this.ex.u.isAwaitable(
|
|
677
|
-
ret = await
|
|
678
|
-
} else {
|
|
679
|
-
ret = response_callback.call(this, response);
|
|
679
|
+
let ret = response_callback.call(this, response);
|
|
680
|
+
if (this.ex.u.isAwaitable(ret)) {
|
|
681
|
+
ret = await ret;
|
|
680
682
|
}
|
|
681
683
|
if (ret) return;
|
|
682
684
|
}
|
|
@@ -905,14 +907,22 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
905
907
|
return this.parser.parse(clone) as t.StateClone;
|
|
906
908
|
}
|
|
907
909
|
|
|
908
|
-
preprocess = (
|
|
910
|
+
preprocess = async (
|
|
909
911
|
preprocessor: string, preprocessedStack: t.PreprocessedStack = {}
|
|
910
|
-
): t.QueryParams => {
|
|
912
|
+
): Promise<t.QueryParams> => {
|
|
911
913
|
if (!this.context.filled(preprocessor)) return preprocessedStack;
|
|
914
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
912
915
|
Lino;
|
|
913
916
|
const fn = eval(preprocessor);
|
|
914
917
|
let ret: t.QueryParams;
|
|
915
|
-
if (this.context.filled(fn))
|
|
918
|
+
if (this.context.filled(fn)) {
|
|
919
|
+
ret = fn(this.context, preprocessedStack);
|
|
920
|
+
if (this.ex.u.isAwaitable(ret)) {
|
|
921
|
+
this.context.APP.setLoadMask();
|
|
922
|
+
ret = await ret;
|
|
923
|
+
this.context.APP.unsetLoadMask();
|
|
924
|
+
}
|
|
925
|
+
}
|
|
916
926
|
if (this.context.filled(ret) && ret instanceof Object) Object.assign(
|
|
917
927
|
preprocessedStack, ret);
|
|
918
928
|
return preprocessedStack;
|
|
@@ -954,7 +964,7 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
954
964
|
}
|
|
955
965
|
|
|
956
966
|
checkAndRunAction = async (kwargs: t.ArgsRunAction): Promise<void> => {
|
|
957
|
-
const { action } = this.getAction(kwargs.action_full_name, false);
|
|
967
|
+
const { action } = await this.getAction(kwargs.action_full_name, false);
|
|
958
968
|
if (this.context.isModified() && action.auto_save)
|
|
959
969
|
await this.saveModifiedContent();
|
|
960
970
|
|
|
@@ -975,7 +985,37 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
975
985
|
runAction = async ({action_full_name, actorId, status, sr = [], rowIndex, default_record_id,
|
|
976
986
|
response_callback, clickCatch = false, pollContext = false
|
|
977
987
|
}: t.ArgsRunAction): Promise<void> => {
|
|
978
|
-
const {action, preprocessedStack} = this.getAction(action_full_name);
|
|
988
|
+
const {action, preprocessedStack} = await this.getAction(action_full_name);
|
|
989
|
+
if (action.beforeshow && !eval(action.beforeshow)) {
|
|
990
|
+
this.context.APP.toast.show({
|
|
991
|
+
severity: "warn",
|
|
992
|
+
summary: this.ex.i18n.t("Action cannot be performed"),
|
|
993
|
+
detail: this.ex.i18n.t("Does NOT have required frontend features."),
|
|
994
|
+
});
|
|
995
|
+
this.context.APP.unsetLoadMask();
|
|
996
|
+
return;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
if (constants.isAndroidWebView()
|
|
1000
|
+
&& action[constants.URL_PARAM_ACTION_NAME] === "switch_color_scheme") {
|
|
1001
|
+
try {
|
|
1002
|
+
const currentScheme = window.Lino.color_scheme;
|
|
1003
|
+
const nextScheme = currentScheme === "dark" ? "light" : "dark";
|
|
1004
|
+
window.AndroidBridge?.setColorSchemeMode?.(nextScheme);
|
|
1005
|
+
if (nextScheme === window.Lino.users_color_scheme) {
|
|
1006
|
+
await this.context.history.replaceByType(
|
|
1007
|
+
{[constants.URL_PARAM_COLOR_SCHEME]: nextScheme},
|
|
1008
|
+
constants.PARAM_TYPE_WINDOW,
|
|
1009
|
+
false,
|
|
1010
|
+
true,
|
|
1011
|
+
);
|
|
1012
|
+
await this.context.APP.reset();
|
|
1013
|
+
return;
|
|
1014
|
+
}
|
|
1015
|
+
} catch (error) {
|
|
1016
|
+
console.error("Failed to sync Android color scheme for switch_color_scheme", error);
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
979
1019
|
|
|
980
1020
|
const execute_args: t.ArgsExecute = {
|
|
981
1021
|
action: action,
|
|
@@ -1128,7 +1168,7 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
1128
1168
|
} else
|
|
1129
1169
|
if (this.context.contextType === constants.CONTEXT_TYPE_TEXT_FIELD) {
|
|
1130
1170
|
let resp_data;
|
|
1131
|
-
const { action } = this.getAction(ad.submit_detail);
|
|
1171
|
+
const { action } = await this.getAction(ad.submit_detail);
|
|
1132
1172
|
await this.XHRPutPost({path: this.context.value.path.slice(1),
|
|
1133
1173
|
body: Object.assign(this.commonParams(), {[constants.URL_PARAM_ACTION_NAME]: action[constants.URL_PARAM_ACTION_NAME]},
|
|
1134
1174
|
dataContext.mutableContext.data), response_callback: (data) => {
|
|
@@ -1161,7 +1201,8 @@ export class ActionHandler extends DynDep implements ActionHandler {
|
|
|
1161
1201
|
Object.values(dataContext.refStore.virtualLeaves).forEach(elem => (
|
|
1162
1202
|
(elem as React.Component).setState(
|
|
1163
1203
|
{key: this.context.newSlug().toString()})));
|
|
1164
|
-
|
|
1204
|
+
const disabledFields = dataContext.mutableContext.data.disabled_fields || {};
|
|
1205
|
+
this.context.history.replaceState({editing_mode: false, disabledFields});
|
|
1165
1206
|
}
|
|
1166
1207
|
dataContext.root.setState({loading: false});
|
|
1167
1208
|
// consider this situation as signIn since user language may have been changed
|
|
@@ -117,6 +117,11 @@ class App extends Component {
|
|
|
117
117
|
{[constants.URL_PARAM_SUBST_USER]: params[constants.URL_PARAM_SUBST_USER]},
|
|
118
118
|
constants.PARAM_TYPE_WINDOW, false, true);
|
|
119
119
|
}
|
|
120
|
+
if (["light", "dark"].includes(params[constants.URL_PARAM_COLOR_SCHEME])) {
|
|
121
|
+
await this.URLContext.history.replaceByType(
|
|
122
|
+
{[constants.URL_PARAM_COLOR_SCHEME]: params[constants.URL_PARAM_COLOR_SCHEME]},
|
|
123
|
+
constants.PARAM_TYPE_WINDOW, false, true);
|
|
124
|
+
}
|
|
120
125
|
|
|
121
126
|
this.storageName = `lino-${window.Lino.site_name}-json-cache`;
|
|
122
127
|
const request = window.indexedDB.open(this.storageName, 1);
|
|
@@ -301,11 +306,15 @@ class App extends Component {
|
|
|
301
306
|
}
|
|
302
307
|
|
|
303
308
|
if (!navigated) {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
+
if (pathname === this.URLContext.value.path) {
|
|
310
|
+
this.URLContext.actionHandler.refreshChildren([this.URLContext]);
|
|
311
|
+
} else {
|
|
312
|
+
// Navigate using history API
|
|
313
|
+
this.URLContext.history.pushPath({
|
|
314
|
+
pathname: pathname,
|
|
315
|
+
params: params
|
|
316
|
+
});
|
|
317
|
+
}
|
|
309
318
|
}
|
|
310
319
|
|
|
311
320
|
constants.debugMessage('navigateFromNative: Navigated to', pathname, 'with params', params);
|
|
@@ -396,6 +405,25 @@ class App extends Component {
|
|
|
396
405
|
this.setState({showFixAppLinksCta: false}, this.notifyAppLinkBannerLayoutChanged);
|
|
397
406
|
}
|
|
398
407
|
|
|
408
|
+
async syncAndroidColorSchemeToWindowGlobals() {
|
|
409
|
+
if (!constants.isAndroidWebView()) {
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
try {
|
|
413
|
+
const colorScheme = window.AndroidBridge?.getEffectiveColorScheme?.();
|
|
414
|
+
if (["light", "dark"].includes(colorScheme)) {
|
|
415
|
+
await this.URLContext.history.replaceByType(
|
|
416
|
+
{[constants.URL_PARAM_COLOR_SCHEME]: colorScheme},
|
|
417
|
+
constants.PARAM_TYPE_WINDOW,
|
|
418
|
+
false,
|
|
419
|
+
true,
|
|
420
|
+
);
|
|
421
|
+
}
|
|
422
|
+
} catch (error) {
|
|
423
|
+
console.error("Failed to sync Android color scheme", error);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
399
427
|
/**
|
|
400
428
|
* Executes when the browser's reload button is clicked.
|
|
401
429
|
*
|
|
@@ -761,6 +789,32 @@ class App extends Component {
|
|
|
761
789
|
children: <LinoProgressBar loading={true} progress={10}/>
|
|
762
790
|
})
|
|
763
791
|
this.setInitProgress(20);
|
|
792
|
+
|
|
793
|
+
await this.syncAndroidColorSchemeToWindowGlobals();
|
|
794
|
+
|
|
795
|
+
// reload with substitute user if su_id in URL doesn't match current substitute user
|
|
796
|
+
const su_id = this.URLContext.value[constants.URL_PARAM_SUBST_USER];
|
|
797
|
+
const color_scheme = this.URLContext.value[constants.URL_PARAM_COLOR_SCHEME];
|
|
798
|
+
const shouldReloadForSubstUser = su_id != window.Lino.subst_user_id;
|
|
799
|
+
const shouldReloadForColorScheme = ["light", "dark"].includes(color_scheme)
|
|
800
|
+
&& color_scheme !== window.Lino.color_scheme;
|
|
801
|
+
if (shouldReloadForSubstUser || shouldReloadForColorScheme) {
|
|
802
|
+
const url = new URL(window.location.href);
|
|
803
|
+
if (this.URLContext.filled(su_id)) {
|
|
804
|
+
url.searchParams.set(constants.URL_PARAM_SUBST_USER, su_id);
|
|
805
|
+
} else {
|
|
806
|
+
url.searchParams.delete(constants.URL_PARAM_SUBST_USER);
|
|
807
|
+
}
|
|
808
|
+
if (["light", "dark"].includes(color_scheme)) {
|
|
809
|
+
url.searchParams.set(constants.URL_PARAM_COLOR_SCHEME, color_scheme);
|
|
810
|
+
} else {
|
|
811
|
+
url.searchParams.delete(constants.URL_PARAM_COLOR_SCHEME);
|
|
812
|
+
}
|
|
813
|
+
window.history.replaceState({}, '', url);
|
|
814
|
+
window.location.reload();
|
|
815
|
+
return
|
|
816
|
+
}
|
|
817
|
+
|
|
764
818
|
await this.fetch_user_settings(signIn);
|
|
765
819
|
if (signIn) {
|
|
766
820
|
// Check if we're running in Android WebView
|
|
@@ -960,8 +1014,19 @@ class App extends Component {
|
|
|
960
1014
|
}
|
|
961
1015
|
|
|
962
1016
|
async reload() {
|
|
1017
|
+
// const su_id = this.URLContext.value[constants.URL_PARAM_SUBST_USER];
|
|
1018
|
+
|
|
963
1019
|
await this.URLContext.iDBclear();
|
|
964
1020
|
window.localStorage.clear();
|
|
1021
|
+
|
|
1022
|
+
// if (this.URLContext.filled(su_id)) {
|
|
1023
|
+
// const url = new URL(window.location.href);
|
|
1024
|
+
// url.searchParams.set(constants.URL_PARAM_SUBST_USER, su_id);
|
|
1025
|
+
// window.history.replaceState({}, '', url);
|
|
1026
|
+
// }
|
|
1027
|
+
const url = new URL(window.location.href);
|
|
1028
|
+
url.searchParams.set("timestamp", Date.now().toString());
|
|
1029
|
+
window.history.replaceState({}, '', url);
|
|
965
1030
|
window.location.reload();
|
|
966
1031
|
}
|
|
967
1032
|
|
|
@@ -75,6 +75,14 @@ export class AppTopbar extends Component {
|
|
|
75
75
|
);
|
|
76
76
|
const scrollY = window.scrollY || window.pageYOffset || 0;
|
|
77
77
|
const topOffset = Math.max(0, bannersHeight - scrollY);
|
|
78
|
+
const { APP } = this.upController;
|
|
79
|
+
if (APP.tbContainer) {
|
|
80
|
+
const topbarHeight = APP.tbContainer.offsetHeight;
|
|
81
|
+
const totalHeight = topOffset + topbarHeight;
|
|
82
|
+
document.documentElement.style.setProperty('--topbar-offset', `${topOffset}px`);
|
|
83
|
+
document.documentElement.style.setProperty('--topbar-height', `${topbarHeight}px`);
|
|
84
|
+
document.documentElement.style.setProperty('--topbar-total-height', `${totalHeight}px`);
|
|
85
|
+
}
|
|
78
86
|
if (this.state.topOffset !== topOffset) {
|
|
79
87
|
this.setState({topOffset});
|
|
80
88
|
}
|
|
@@ -24,7 +24,7 @@ export class AutoComplete extends LeafComponentInput {
|
|
|
24
24
|
hasClearButton: boolean;
|
|
25
25
|
clear?: () => void;
|
|
26
26
|
props: t.LeafInputProps;
|
|
27
|
-
choicesURL?(query: string, start: number, limit: number): string
|
|
27
|
+
choicesURL?(query: string, start: number, limit: number): Promise<string>;
|
|
28
28
|
clearButton?: HTMLElement | null;
|
|
29
29
|
onSelect?(e: { value: { text: string; value: string | number | null } }): void;
|
|
30
30
|
scroller: { getElementRef: () => React.RefObject<HTMLElement> } | null;
|
|
@@ -32,6 +32,29 @@ export class AutoComplete extends LeafComponentInput {
|
|
|
32
32
|
controller: any;
|
|
33
33
|
state: t.ObjectAny & {textSelected: boolean; initialHang?: boolean;};
|
|
34
34
|
|
|
35
|
+
getDynamicDropdownWidthCh = (): number => {
|
|
36
|
+
const rowTexts = (this.state.rows || []).map(row => {
|
|
37
|
+
if (!row) return "";
|
|
38
|
+
if (typeof row === "string") return row;
|
|
39
|
+
return row.text || "";
|
|
40
|
+
});
|
|
41
|
+
const longestText = Math.max(
|
|
42
|
+
0,
|
|
43
|
+
this.state.value?.text?.length || 0,
|
|
44
|
+
...rowTexts.map(text => text.length)
|
|
45
|
+
);
|
|
46
|
+
return Math.min(Math.max(longestText + 4, 30), 120);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
getDynamicDropdownStyle = (): React.CSSProperties => {
|
|
50
|
+
const widthCh = this.getDynamicDropdownWidthCh();
|
|
51
|
+
return {
|
|
52
|
+
minWidth: '30ch',
|
|
53
|
+
width: `${widthCh}ch`,
|
|
54
|
+
maxWidth: '90vw',
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
35
58
|
constructor(props: t.LeafInputProps) {
|
|
36
59
|
super(props);
|
|
37
60
|
this.state = {
|
|
@@ -65,13 +88,13 @@ export class AutoComplete extends LeafComponentInput {
|
|
|
65
88
|
this.controller = new this.ex.AbortController.default();
|
|
66
89
|
}
|
|
67
90
|
|
|
68
|
-
onKeyDown = (event) => {
|
|
91
|
+
onKeyDown = async (event) => {
|
|
69
92
|
super.onKeyDown(event);
|
|
70
93
|
if (["Enter", "NumpadEnter"].includes(event.code) && this.inputEl.getOverlay())
|
|
71
94
|
event.stopPropagation();
|
|
72
95
|
if (['ArrowDown', 'ArrowUp'].includes(event.code)) {
|
|
73
96
|
if (this.inputEl && !this.inputEl.getOverlay()) {
|
|
74
|
-
if (!this.state.rows.length) this.getChoices(this.state[constants.URL_PARAM_FILTER]);
|
|
97
|
+
if (!this.state.rows.length) await this.getChoices(this.state[constants.URL_PARAM_FILTER]);
|
|
75
98
|
this.inputEl.show();
|
|
76
99
|
} else if (!this.state.lazyLoading) {
|
|
77
100
|
const sItem = this.scroller.getElementRef().current.querySelector('li.p-highlight');
|
|
@@ -92,15 +115,16 @@ export class AutoComplete extends LeafComponentInput {
|
|
|
92
115
|
return <div>{i || "\u00a0"}</div>
|
|
93
116
|
}
|
|
94
117
|
|
|
95
|
-
getChoices = (query: string, limit?: number) => {
|
|
118
|
+
getChoices = async (query: string, limit?: number) => {
|
|
96
119
|
this.controller.abort();
|
|
97
120
|
this.controller = new this.ex.AbortController.default();
|
|
98
121
|
limit = limit || this.state[constants.URL_PARAM_LIMIT];
|
|
99
122
|
const start = limit === this.state[constants.URL_PARAM_LIMIT]
|
|
100
123
|
? this.state[constants.URL_PARAM_START]
|
|
101
124
|
: this.state[constants.URL_PARAM_LIMIT];
|
|
125
|
+
const path = await this.choicesURL(query, start, limit);
|
|
102
126
|
this.upController.actionHandler.silentFetch({
|
|
103
|
-
path:
|
|
127
|
+
path: path,
|
|
104
128
|
signal: this.controller.signal
|
|
105
129
|
}).then((data) => {
|
|
106
130
|
let rows = data.rows;
|
|
@@ -132,16 +156,17 @@ export class AutoComplete extends LeafComponentInput {
|
|
|
132
156
|
if (this.state.value === null) return null;
|
|
133
157
|
return <React.Fragment><this.ex.prAutoComplete.AutoComplete
|
|
134
158
|
autoFocus={!this.props.urlParams.controller.globals.isMobile && this.leafIndexMatch()}
|
|
135
|
-
completeMethod={(e) => {
|
|
159
|
+
completeMethod={async (e) => {
|
|
136
160
|
if (e.originalEvent.type === 'click' && this.state.rows.length) {
|
|
137
161
|
this.inputEl.show();
|
|
138
162
|
return;
|
|
139
163
|
}
|
|
140
164
|
this.state.rows = [];
|
|
141
|
-
this.getChoices(e.query, this.state[constants.URL_PARAM_LIMIT]);
|
|
165
|
+
await this.getChoices(e.query, this.state[constants.URL_PARAM_LIMIT]);
|
|
142
166
|
}}
|
|
143
167
|
dropdown={true}
|
|
144
168
|
field="text"
|
|
169
|
+
inputStyle={{background: "transparent"}}
|
|
145
170
|
itemTemplate={this.itemTemplate}
|
|
146
171
|
onChange={e => this.setState({
|
|
147
172
|
value: Object.assign(this.state.value, {
|
|
@@ -160,6 +185,7 @@ export class AutoComplete extends LeafComponentInput {
|
|
|
160
185
|
}
|
|
161
186
|
}}
|
|
162
187
|
ref={this.onInputRef}
|
|
188
|
+
panelStyle={this.getDynamicDropdownStyle()}
|
|
163
189
|
scrollHeight="200px"
|
|
164
190
|
suggestions={this.state.rows}
|
|
165
191
|
tabIndex={this.props.tabIndex}
|
|
@@ -168,19 +194,19 @@ export class AutoComplete extends LeafComponentInput {
|
|
|
168
194
|
itemSize: 35,
|
|
169
195
|
lazy: true,
|
|
170
196
|
loading: this.state.lazyLoading,
|
|
171
|
-
onScrollIndexChange: (event) => {
|
|
197
|
+
onScrollIndexChange: async (event) => {
|
|
172
198
|
const l = this.state[constants.URL_PARAM_LIMIT];
|
|
173
199
|
if (l - event.first < 15 && !this.state.lazyLoading
|
|
174
200
|
&& this.state.count > l
|
|
175
201
|
) {
|
|
176
202
|
this.setState({lazyLoading: true});
|
|
177
|
-
this.getChoices(
|
|
203
|
+
await this.getChoices(
|
|
178
204
|
this.state[constants.URL_PARAM_FILTER], l + 15);
|
|
179
205
|
}
|
|
180
206
|
},
|
|
181
207
|
ref: el => this.scroller = el,
|
|
182
208
|
scrollHeight: "195px",
|
|
183
|
-
style:
|
|
209
|
+
style: this.getDynamicDropdownStyle(),
|
|
184
210
|
}}
|
|
185
211
|
{...customProps}/>
|
|
186
212
|
{this.hasClearButton && this.props.elem.field_options.allowBlank
|
|
@@ -251,7 +277,7 @@ export class QuickFilter extends AutoComplete {
|
|
|
251
277
|
value: null}
|
|
252
278
|
}
|
|
253
279
|
|
|
254
|
-
choicesURL(query, start, limit) {
|
|
280
|
+
async choicesURL(query, start, limit) {
|
|
255
281
|
return `choices/${this.props.urlParams.packId}/${this.props.urlParams.actorId}?${
|
|
256
282
|
this.ex.queryString.default.stringify(Object.assign(this.upController
|
|
257
283
|
.actionHandler.defaultStaticParams(), {
|
|
@@ -80,7 +80,7 @@ export class ForeignKeyElement extends AutoComplete {
|
|
|
80
80
|
currentValue: snapshot.contextUpdate});
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
choicesURL(query, start, limit) {
|
|
83
|
+
async choicesURL(query, start, limit) {
|
|
84
84
|
let uc = this.props.urlParams;
|
|
85
85
|
let actorData = uc.controller.static.actorData,
|
|
86
86
|
// context_fields = actorData.choosers_dict && actorData.choosers_dict[this.props.elem.name],
|
|
@@ -106,7 +106,7 @@ export class ForeignKeyElement extends AutoComplete {
|
|
|
106
106
|
let aH = uc.controller.actionHandler;
|
|
107
107
|
let finalSlug = "";
|
|
108
108
|
if (uc.action_full_name) {
|
|
109
|
-
const { action } = aH.getAction(uc.action_full_name, false)
|
|
109
|
+
const { action } = await aH.getAction(uc.action_full_name, false)
|
|
110
110
|
if (action.has_parameters) finalSlug = `/${action[constants.URL_PARAM_ACTION_NAME]}`;
|
|
111
111
|
if (action.select_rows) dataParams[constants.URL_PARAM_SELECTED] = uc[constants.URL_PARAM_SELECTED];
|
|
112
112
|
}
|
|
@@ -140,7 +140,7 @@ export class ForeignKeyElement extends AutoComplete {
|
|
|
140
140
|
|
|
141
141
|
onSelect(e) {
|
|
142
142
|
this.setState({value: e.value});
|
|
143
|
-
this.update({[this.dataKey]: e.value.text,
|
|
143
|
+
this.update({[this.dataKey]: e.value.text || null,
|
|
144
144
|
[this.dataKeyHidden]: e.value.value});
|
|
145
145
|
}
|
|
146
146
|
|
|
@@ -41,15 +41,26 @@ export class LinoBbar extends Component {
|
|
|
41
41
|
|
|
42
42
|
constructor(props) {
|
|
43
43
|
super(props);
|
|
44
|
-
this.state = {...this.state, overflowShow: false};
|
|
44
|
+
this.state = {...this.state, overflowShow: false, buttons: null};
|
|
45
|
+
this._buttonsSignature = null;
|
|
46
|
+
this._buttonsUpdateSeq = 0;
|
|
45
47
|
this.action2buttonProps = this.action2buttonProps.bind(this);
|
|
46
|
-
this.
|
|
48
|
+
this.set_buttons = this.set_buttons.bind(this);
|
|
47
49
|
this.render_overflow = this.render_overflow.bind(this);
|
|
48
50
|
this.render_actionbutton = this.render_actionbutton.bind(this);
|
|
49
51
|
this.render_splitActionButton = this.render_splitActionButton.bind(this);
|
|
50
52
|
this.runAction = this.runAction.bind(this);
|
|
51
53
|
}
|
|
52
54
|
|
|
55
|
+
onReady() {
|
|
56
|
+
this.set_buttons();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
componentDidUpdate() {
|
|
60
|
+
if (!this.state.ready) return;
|
|
61
|
+
this.set_buttons();
|
|
62
|
+
}
|
|
63
|
+
|
|
53
64
|
runAction(action, tba, event) {
|
|
54
65
|
if (tba.js_handler) {
|
|
55
66
|
eval(tba.js_handler);
|
|
@@ -96,6 +107,7 @@ export class LinoBbar extends Component {
|
|
|
96
107
|
(action.select_rows && this.context[constants.URL_PARAM_SELECTED]
|
|
97
108
|
&& this.context[constants.URL_PARAM_SELECTED].length === 0
|
|
98
109
|
)
|
|
110
|
+
|| (action.beforeshow && !eval(action.beforeshow))
|
|
99
111
|
|| this.context.controller.disabled(action[constants.URL_PARAM_ACTION_NAME])
|
|
100
112
|
|| (action[constants.URL_PARAM_ACTION_NAME] === 'submit_detail' && !this.context.editing_mode)
|
|
101
113
|
|| (this.props.onSide && !action.show_in_side_toolbar && action[constants.URL_PARAM_ACTION_NAME] !== 'submit_detail')
|
|
@@ -103,12 +115,14 @@ export class LinoBbar extends Component {
|
|
|
103
115
|
);
|
|
104
116
|
icon_and_label.tooltip = tba.help_text || action.label;
|
|
105
117
|
icon_and_label.tooltipOptions = {position: this.props.onSide ? 'left' : 'bottom'};
|
|
118
|
+
constants.debugMessage("Button (on: %s) %s: %o", this.props.action_full_name,
|
|
119
|
+
action[constants.URL_PARAM_ACTION_NAME], icon_and_label);
|
|
106
120
|
|
|
107
121
|
return icon_and_label;
|
|
108
122
|
}
|
|
109
123
|
|
|
110
|
-
render_actionbutton(tba) {
|
|
111
|
-
let {action} = this.context.controller.actionHandler.getAction(tba[constants.URL_PARAM_ACTION_NAME], false);
|
|
124
|
+
async render_actionbutton(tba) {
|
|
125
|
+
let {action} = await this.context.controller.actionHandler.getAction(tba[constants.URL_PARAM_ACTION_NAME], false);
|
|
112
126
|
if (action) {
|
|
113
127
|
let icon_and_label = this.action2buttonProps(tba, action, true);
|
|
114
128
|
if (icon_and_label.disabled) return
|
|
@@ -118,9 +132,11 @@ export class LinoBbar extends Component {
|
|
|
118
132
|
}
|
|
119
133
|
}
|
|
120
134
|
|
|
121
|
-
render_splitActionButton(combo) {
|
|
122
|
-
|
|
123
|
-
|
|
135
|
+
async render_splitActionButton(combo) {
|
|
136
|
+
constants.debugMessage("Rendering split button %s: %o", combo.combo, combo);
|
|
137
|
+
let actionArray = await Promise.all(combo.menu.map(
|
|
138
|
+
async (n) => (await this.context.controller.actionHandler.getAction(n[constants.URL_PARAM_ACTION_NAME], false)).action));
|
|
139
|
+
constants.debugMessage("Split button %s: actions: %o", combo.combo, actionArray);
|
|
124
140
|
if (actionArray[0]) {
|
|
125
141
|
let model = actionArray.map((action, i) => {
|
|
126
142
|
let props = this.action2buttonProps(combo.menu[i], action, i === 0);
|
|
@@ -143,19 +159,46 @@ export class LinoBbar extends Component {
|
|
|
143
159
|
}
|
|
144
160
|
}
|
|
145
161
|
|
|
146
|
-
|
|
162
|
+
async set_buttons() {
|
|
163
|
+
const seq = ++this._buttonsUpdateSeq;
|
|
147
164
|
let ba = this.context.controller.static.actorData.actions_list.find(ba => ba[constants.URL_PARAM_ACTION_NAME] === this.props.action_full_name);
|
|
148
|
-
|
|
165
|
+
constants.debugMessage("Setting buttons for %s: %o", this.props.action_full_name, ba);
|
|
166
|
+
if (!ba) {
|
|
167
|
+
if (this.state.buttons !== null) this.setState({buttons: null});
|
|
168
|
+
this._buttonsSignature = null;
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
149
171
|
let tbas = ba.toolbarActions;
|
|
150
|
-
|
|
172
|
+
if (!tbas || tbas.length === 0) {
|
|
173
|
+
if (this.state.buttons !== null) this.setState({buttons: null});
|
|
174
|
+
this._buttonsSignature = null;
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const buttons = await Promise.all(tbas.map(async (tba) => {
|
|
151
178
|
if (tba.combo && tba.menu.length > 1) {
|
|
152
|
-
return this.render_splitActionButton(tba);
|
|
179
|
+
return await this.render_splitActionButton(tba);
|
|
153
180
|
} else if (tba.combo) {
|
|
154
|
-
return this.render_actionbutton(tba.menu[0]);
|
|
181
|
+
return await this.render_actionbutton(tba.menu[0]);
|
|
155
182
|
} else {
|
|
156
|
-
return this.render_actionbutton(tba);
|
|
183
|
+
return await this.render_actionbutton(tba);
|
|
157
184
|
}
|
|
158
|
-
})
|
|
185
|
+
}));
|
|
186
|
+
|
|
187
|
+
if (seq !== this._buttonsUpdateSeq) return;
|
|
188
|
+
|
|
189
|
+
const signature = buttons
|
|
190
|
+
.filter(Boolean)
|
|
191
|
+
.map((button) => {
|
|
192
|
+
const props = button.props || {};
|
|
193
|
+
const modelCount = Array.isArray(props.model) ? props.model.length : 0;
|
|
194
|
+
return [props.className || '', props.label || '', props.icon || '', modelCount].join('|');
|
|
195
|
+
})
|
|
196
|
+
.join('||');
|
|
197
|
+
|
|
198
|
+
if (signature === this._buttonsSignature) return;
|
|
199
|
+
|
|
200
|
+
this._buttonsSignature = signature;
|
|
201
|
+
this.setState({buttons});
|
|
159
202
|
}
|
|
160
203
|
|
|
161
204
|
render() {
|
|
@@ -169,7 +212,7 @@ export class LinoBbar extends Component {
|
|
|
169
212
|
}}
|
|
170
213
|
tooltip={this.ex.i18n.t("Reload this view from the underlying database")}
|
|
171
214
|
tooltipOptions={{position: "bottom"}}/>}
|
|
172
|
-
{this.
|
|
215
|
+
{this.state.buttons}
|
|
173
216
|
</React.Fragment>
|
|
174
217
|
}
|
|
175
218
|
};
|