@webority/ui-react 0.38.0 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./warnInvalidValue.js";import t from"./warnUnknownProps.js";import n from"./AppButton.js";import r from"./AppResult.js";import{Fragment as i,jsx as a,jsxs as o}from"react/jsx-runtime";var s=[`error`,`stale-build`,`not-found`],c=()=>window.location.reload();function l({kind:l=`error`,homeHref:u=`/`,onRetry:d=c,brand:f,fullPage:p=!0,children:m,className:h=``,...g}){t(`AppRouteError`,g),e(`AppRouteError`,`kind`,l,s);let _=e=>a(n,{variant:e,leftIcon:`home`,href:u,children:`Go to the home page`}),v;return v=l===`stale-build`?a(r,{status:`info`,icon:`refresh-cw`,title:`A new version is ready`,subtitle:`This app was updated while you had it open. Reload to get the new version.`,actions:a(n,{variant:`primary`,leftIcon:`refresh-cw`,onClick:d,children:`Reload`}),children:m}):l===`not-found`?a(r,{status:`404`,title:`We could not find that page`,subtitle:`Check the address, or go to the home page.`,actions:_(`primary`),children:m}):a(r,{status:`500`,title:`This page did not load`,subtitle:`Something went wrong on our side. Try again in a moment.`,actions:o(i,{children:[a(n,{variant:`primary`,leftIcon:`refresh-cw`,onClick:d,children:`Try again`}),_(`outline`)]}),children:m}),o(`div`,{className:[p?`d-flex flex-column align-items-center justify-content-center min-vh-100 px-3`:`d-flex flex-column align-items-center py-5 px-3`,h].filter(Boolean).join(` `),...g,children:[f&&a(`div`,{className:`mb-4`,children:f}),a(`div`,{className:`col-12 col-md-8 col-lg-6`,children:v})]})}export{l as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./warnUnknownProps.js";import t from"./AppButton.js";import n from"./AppBanner.js";import{jsx as r,jsxs as i}from"react/jsx-runtime";var a=()=>window.location.reload();function o({onReload:o=a,dismissible:s=!1,onDismiss:c,className:l=``,...u}){return e(`AppUpdateBar`,u),i(n,{tone:`info`,icon:`refresh-cw`,dismissible:s,onDismiss:c,className:l,...u,children:[r(`span`,{className:`me-3`,children:`A new version of this app is ready.`}),r(t,{size:`sm`,variant:`primary`,onClick:o,children:`Reload`})]})}export{o as default};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The screen for a page that failed to load: a router `errorElement`, and the fallback of the
|
|
3
|
+
* app's root error boundary, so both paths show the same screen. It knows nothing of the router:
|
|
4
|
+
* the app reads the caught error (`useRouteErrorReport` in `@webority/web-core`) and passes its
|
|
5
|
+
* `kind`. It never shows the error itself, which is for the logs, not the person.
|
|
6
|
+
*
|
|
7
|
+
* - `error`: something broke. Offers "Try again" and the home page.
|
|
8
|
+
* - `stale-build`: the app was updated while the page was open and a code file of the old build
|
|
9
|
+
* is gone. Offers "Reload".
|
|
10
|
+
* - `not-found`: no page at this address. Offers the home page.
|
|
11
|
+
*
|
|
12
|
+
* The home link is a plain link (a full page load), so the screen also works where no router
|
|
13
|
+
* is mounted, above it in the root error boundary.
|
|
14
|
+
*
|
|
15
|
+
* @param {object} props
|
|
16
|
+
* @param {'error'|'stale-build'|'not-found'} [props.kind='error'] What went wrong.
|
|
17
|
+
* @param {string} [props.homeHref='/'] Where "Go to the home page" leads.
|
|
18
|
+
* @param {() => void} [props.onRetry] What "Try again" and "Reload" do. Default: reload the page.
|
|
19
|
+
* @param {import('react').ReactNode} [props.brand] Shown above the result, usually the product's logo.
|
|
20
|
+
* @param {boolean} [props.fullPage=true] Fill the viewport and centre the result. Pass `false` for an error inside a page layout.
|
|
21
|
+
* @param {import('react').ReactNode} [props.children] Extra content below the actions, such as a support link.
|
|
22
|
+
* @param {string} [props.className] Extra classes on the outer container.
|
|
23
|
+
*/
|
|
24
|
+
export default function AppRouteError({ kind, homeHref, onRetry, brand, fullPage, children, className, ...rest }: {
|
|
25
|
+
kind?: 'error' | 'stale-build' | 'not-found';
|
|
26
|
+
homeHref?: string;
|
|
27
|
+
onRetry?: () => void;
|
|
28
|
+
brand?: import('react').ReactNode;
|
|
29
|
+
fullPage?: boolean;
|
|
30
|
+
children?: import('react').ReactNode;
|
|
31
|
+
className?: string;
|
|
32
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "new version" bar: a non-blocking strip saying a newer build of the app is live, with a
|
|
3
|
+
* Reload button. Show it when the app's version check reports a new build; the person keeps
|
|
4
|
+
* working and reloads when ready. It never interrupts: no dialog, no forced reload. (An app that
|
|
5
|
+
* also reloads on the next route change does that in its router, not here.)
|
|
6
|
+
*
|
|
7
|
+
* Built on `AppBanner`, so it reads as a status message to assistive technology.
|
|
8
|
+
*
|
|
9
|
+
* @param {object} props
|
|
10
|
+
* @param {() => void} [props.onReload] What "Reload" does. Default: reload the page.
|
|
11
|
+
* @param {boolean} [props.dismissible=false] Show a close button. The bar then stays closed until it remounts.
|
|
12
|
+
* @param {() => void} [props.onDismiss] Called after the bar is closed.
|
|
13
|
+
* @param {string} [props.className] Extra classes, such as `sticky-top`.
|
|
14
|
+
*/
|
|
15
|
+
export default function AppUpdateBar({ onReload, dismissible, onDismiss, className, ...rest }: {
|
|
16
|
+
onReload?: () => void;
|
|
17
|
+
dismissible?: boolean;
|
|
18
|
+
onDismiss?: () => void;
|
|
19
|
+
className?: string;
|
|
20
|
+
}): import("react").JSX.Element;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ export { default as AppRequiredMark } from "./components/AppRequiredMark.jsx";
|
|
|
74
74
|
export { default as AppResourceCard } from "./components/AppResourceCard.jsx";
|
|
75
75
|
export { default as AppResult } from "./components/AppResult.jsx";
|
|
76
76
|
export { default as AppRichText } from "./components/AppRichText.jsx";
|
|
77
|
+
export { default as AppRouteError } from "./components/AppRouteError.jsx";
|
|
77
78
|
export { default as AppScrollbar } from "./components/AppScrollbar.jsx";
|
|
78
79
|
export { default as AppSearch } from "./components/AppSearch.jsx";
|
|
79
80
|
export { default as AppSegmented } from "./components/AppSegmented.jsx";
|
|
@@ -104,6 +105,7 @@ export { default as AppToolbar } from "./components/AppToolbar.jsx";
|
|
|
104
105
|
export { default as AppTooltip } from "./components/AppTooltip.jsx";
|
|
105
106
|
export { default as AppTour } from "./components/AppTour.jsx";
|
|
106
107
|
export { default as AppTreeView } from "./components/AppTreeView.jsx";
|
|
108
|
+
export { default as AppUpdateBar } from "./components/AppUpdateBar.jsx";
|
|
107
109
|
export { default as AppWizard } from "./components/AppWizard.jsx";
|
|
108
110
|
export { default as AppWorkspaceSwitcher } from "./components/AppWorkspaceSwitcher.jsx";
|
|
109
111
|
export { MODAL_ICONS } from "./components/ModalIcons.jsx";
|
package/dist/ui-react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./components/AppTooltip.js";import t,{iconNames as n,registerIcons as r}from"./components/AppIcon.js";import i from"./components/AppAccordion.js";import a from"./components/AppActionIcon.js";import o from"./components/AppAlert.js";import s from"./components/AppButton.js";import c from"./components/AppEmptyState.js";import l from"./components/AppSpinner.js";import u from"./components/AppAsyncBlock.js";import d from"./components/AppPopover.js";import f from"./components/AppInfoTip.js";import p from"./components/AppRequiredMark.js";import m from"./components/AppAutocomplete.js";import h from"./components/AppAvatar.js";import g from"./components/AppAvatarGroup.js";import _ from"./components/AppModal.js";import v from"./components/AppAvatarPicker.js";import y from"./components/AppBadge.js";import b from"./components/AppBanner.js";import x from"./components/AppBreadcrumbs.js";import S from"./components/AppCalendar.js";import C from"./components/AppCard.js";import w from"./components/AppChart.js";import T from"./components/AppDropdown.js";import E from"./components/AppSegmented.js";import D from"./components/AppChartCard.js";import O from"./components/AppCheckbox.js";import k from"./components/AppChip.js";import A from"./components/AppChoiceCard.js";import j from"./components/AppChoiceChip.js";import M from"./components/AppColorField.js";import N from"./components/AppColumnMenu.js";import P from"./components/AppCommandPalette.js";import F from"./components/AppCompareTable.js";import I from"./components/AppInput.js";import{MODAL_ICONS as L}from"./components/ModalIcons.js";import R from"./components/AppConfirmDialog.js";import z from"./components/AppConsentBanner.js";import B from"./components/AppContextMenu.js";import V from"./components/AppCopyButton.js";import H from"./components/AppCountrySelect.js";import U from"./components/AppDashboardCell.js";import W from"./components/AppDashboardGrid.js";import G,{AppSkeletonRows as K}from"./components/AppSkeleton.js";import q from"./components/AppSelectMini.js";import J from"./components/AppTablePagination.js";import Y from"./components/AppDataTable.js";import X from"./components/AppDatePicker.js";import Z from"./components/AppDateRangePicker.js";import Q from"./components/AppDescriptions.js";import $ from"./components/AppDropZone.js";import ee from"./components/AppErrorSummary.js";import te from"./components/AppFileAttachment.js";import ne from"./components/AppFilePicker.js";import re from"./components/AppFileViewer.js";import{buildListQuery as ie,parseListQuery as ae}from"./lib/listQuery.js";import oe from"./components/AppMultiSelect.js";import se from"./components/AppSearch.js";import ce from"./components/AppSelect.js";import le from"./components/AppFilterBar.js";import ue from"./components/AppFloatingDock.js";import de from"./components/AppFormActions.js";import fe from"./components/AppFormRow.js";import pe from"./components/AppFormSection.js";import me from"./components/AppInfoList.js";import{dismissAll as he,errorToast as ge,toast as _e}from"./components/toast.js";import ve from"./components/AppKanban.js";import ye from"./components/AppSparkline.js";import be from"./components/AppKpiTile.js";import xe from"./components/AppLink.js";import Se from"./components/AppLogoPicker.js";import Ce from"./components/AppMeter.js";import we from"./components/AppNumberInput.js";import Te from"./components/AppOtpInput.js";import Ee from"./components/AppPageHeader.js";import De from"./components/AppPagination.js";import Oe from"./components/AppPhoneNumberInput.js";import ke from"./components/AppPricingCard.js";import Ae from"./components/AppProgress.js";import je from"./components/AppQrCode.js";import Me from"./components/AppRadio.js";import Ne from"./components/AppRadioGroup.js";import Pe from"./components/AppRepeater.js";import Fe from"./components/AppResourceCard.js";import Ie from"./components/AppResult.js";import Le from"./components/AppRichText.js";import Re from"./components/
|
|
1
|
+
import e from"./components/AppTooltip.js";import t,{iconNames as n,registerIcons as r}from"./components/AppIcon.js";import i from"./components/AppAccordion.js";import a from"./components/AppActionIcon.js";import o from"./components/AppAlert.js";import s from"./components/AppButton.js";import c from"./components/AppEmptyState.js";import l from"./components/AppSpinner.js";import u from"./components/AppAsyncBlock.js";import d from"./components/AppPopover.js";import f from"./components/AppInfoTip.js";import p from"./components/AppRequiredMark.js";import m from"./components/AppAutocomplete.js";import h from"./components/AppAvatar.js";import g from"./components/AppAvatarGroup.js";import _ from"./components/AppModal.js";import v from"./components/AppAvatarPicker.js";import y from"./components/AppBadge.js";import b from"./components/AppBanner.js";import x from"./components/AppBreadcrumbs.js";import S from"./components/AppCalendar.js";import C from"./components/AppCard.js";import w from"./components/AppChart.js";import T from"./components/AppDropdown.js";import E from"./components/AppSegmented.js";import D from"./components/AppChartCard.js";import O from"./components/AppCheckbox.js";import k from"./components/AppChip.js";import A from"./components/AppChoiceCard.js";import j from"./components/AppChoiceChip.js";import M from"./components/AppColorField.js";import N from"./components/AppColumnMenu.js";import P from"./components/AppCommandPalette.js";import F from"./components/AppCompareTable.js";import I from"./components/AppInput.js";import{MODAL_ICONS as L}from"./components/ModalIcons.js";import R from"./components/AppConfirmDialog.js";import z from"./components/AppConsentBanner.js";import B from"./components/AppContextMenu.js";import V from"./components/AppCopyButton.js";import H from"./components/AppCountrySelect.js";import U from"./components/AppDashboardCell.js";import W from"./components/AppDashboardGrid.js";import G,{AppSkeletonRows as K}from"./components/AppSkeleton.js";import q from"./components/AppSelectMini.js";import J from"./components/AppTablePagination.js";import Y from"./components/AppDataTable.js";import X from"./components/AppDatePicker.js";import Z from"./components/AppDateRangePicker.js";import Q from"./components/AppDescriptions.js";import $ from"./components/AppDropZone.js";import ee from"./components/AppErrorSummary.js";import te from"./components/AppFileAttachment.js";import ne from"./components/AppFilePicker.js";import re from"./components/AppFileViewer.js";import{buildListQuery as ie,parseListQuery as ae}from"./lib/listQuery.js";import oe from"./components/AppMultiSelect.js";import se from"./components/AppSearch.js";import ce from"./components/AppSelect.js";import le from"./components/AppFilterBar.js";import ue from"./components/AppFloatingDock.js";import de from"./components/AppFormActions.js";import fe from"./components/AppFormRow.js";import pe from"./components/AppFormSection.js";import me from"./components/AppInfoList.js";import{dismissAll as he,errorToast as ge,toast as _e}from"./components/toast.js";import ve from"./components/AppKanban.js";import ye from"./components/AppSparkline.js";import be from"./components/AppKpiTile.js";import xe from"./components/AppLink.js";import Se from"./components/AppLogoPicker.js";import Ce from"./components/AppMeter.js";import we from"./components/AppNumberInput.js";import Te from"./components/AppOtpInput.js";import Ee from"./components/AppPageHeader.js";import De from"./components/AppPagination.js";import Oe from"./components/AppPhoneNumberInput.js";import ke from"./components/AppPricingCard.js";import Ae from"./components/AppProgress.js";import je from"./components/AppQrCode.js";import Me from"./components/AppRadio.js";import Ne from"./components/AppRadioGroup.js";import Pe from"./components/AppRepeater.js";import Fe from"./components/AppResourceCard.js";import Ie from"./components/AppResult.js";import Le from"./components/AppRichText.js";import Re from"./components/AppRouteError.js";import ze from"./components/AppScrollbar.js";import Be from"./components/AppShell.js";import Ve from"./components/AppSidebarMenu.js";import He from"./components/AppSlider.js";import Ue from"./components/AppSortableList.js";import We from"./components/AppSplash.js";import Ge from"./components/AppStatusBadge.js";import Ke from"./components/AppStepper.js";import qe from"./components/AppSwitch.js";import Je from"./components/AppTableEmptyState.js";import Ye from"./components/AppTableToolbar.js";import Xe from"./components/AppTabs.js";import Ze from"./components/AppTagInput.js";import Qe from"./components/AppTextarea.js";import $e from"./components/AppThemeToggle.js";import et from"./components/AppTimeline.js";import tt from"./components/AppTimePicker.js";import nt from"./components/AppToast.js";import rt from"./components/AppToolbar.js";import it from"./components/AppTour.js";import at from"./components/AppTreeView.js";import ot from"./components/AppUpdateBar.js";import st from"./components/AppWizard.js";import ct from"./components/AppWorkspaceSwitcher.js";import{useCommandPaletteShortcut as lt}from"./lib/useCommandPaletteShortcut.js";import{useFloatingStack as ut}from"./lib/useFloatingStack.js";import{useListQuery as dt}from"./lib/useListQuery.js";import{usePagination as ft}from"./lib/usePagination.js";import{useTableView as pt}from"./lib/useTableView.js";import{createLocalSeenStore as mt}from"@webority/ui-elements/elements/tour";import{postedMasked as ht,themeBootScript as gt}from"@webority/ui-elements/helpers";export{i as AppAccordion,a as AppActionIcon,o as AppAlert,u as AppAsyncBlock,m as AppAutocomplete,h as AppAvatar,g as AppAvatarGroup,v as AppAvatarPicker,y as AppBadge,b as AppBanner,x as AppBreadcrumbs,s as AppButton,S as AppCalendar,C as AppCard,w as AppChart,D as AppChartCard,O as AppCheckbox,k as AppChip,A as AppChoiceCard,j as AppChoiceChip,M as AppColorField,N as AppColumnMenu,P as AppCommandPalette,F as AppCompareTable,R as AppConfirmDialog,z as AppConsentBanner,B as AppContextMenu,V as AppCopyButton,H as AppCountrySelect,U as AppDashboardCell,W as AppDashboardGrid,Y as AppDataTable,X as AppDatePicker,Z as AppDateRangePicker,Q as AppDescriptions,$ as AppDropZone,T as AppDropdown,c as AppEmptyState,ee as AppErrorSummary,te as AppFileAttachment,ne as AppFilePicker,re as AppFileViewer,le as AppFilterBar,ue as AppFloatingDock,de as AppFormActions,fe as AppFormRow,pe as AppFormSection,t as AppIcon,me as AppInfoList,f as AppInfoTip,I as AppInput,ve as AppKanban,be as AppKpiTile,xe as AppLink,Se as AppLogoPicker,Ce as AppMeter,_ as AppModal,oe as AppMultiSelect,we as AppNumberInput,Te as AppOtpInput,Ee as AppPageHeader,De as AppPagination,Oe as AppPhoneNumberInput,d as AppPopover,ke as AppPricingCard,Ae as AppProgress,je as AppQrCode,Me as AppRadio,Ne as AppRadioGroup,Pe as AppRepeater,p as AppRequiredMark,Fe as AppResourceCard,Ie as AppResult,Le as AppRichText,Re as AppRouteError,ze as AppScrollbar,se as AppSearch,E as AppSegmented,ce as AppSelect,q as AppSelectMini,Be as AppShell,Ve as AppSidebarMenu,G as AppSkeleton,K as AppSkeletonRows,He as AppSlider,Ue as AppSortableList,ye as AppSparkline,l as AppSpinner,We as AppSplash,Ge as AppStatusBadge,Ke as AppStepper,qe as AppSwitch,Je as AppTableEmptyState,J as AppTablePagination,Ye as AppTableToolbar,Xe as AppTabs,Ze as AppTagInput,Qe as AppTextarea,$e as AppThemeToggle,tt as AppTimePicker,et as AppTimeline,nt as AppToast,rt as AppToolbar,e as AppTooltip,it as AppTour,at as AppTreeView,ot as AppUpdateBar,st as AppWizard,ct as AppWorkspaceSwitcher,L as MODAL_ICONS,ie as buildListQuery,mt as createLocalSeenStore,he as dismissAll,ge as errorToast,n as iconNames,ae as parseListQuery,ht as postedMasked,r as registerIcons,gt as themeBootScript,_e as toast,lt as useCommandPaletteShortcut,ut as useFloatingStack,dt as useListQuery,ft as usePagination,pt as useTableView};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/ui-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.0",
|
|
4
4
|
"description": "Webority shared React component library — App* primitives on react-bootstrap + the @webority/theme design system.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"type": "module",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
},
|
|
28
28
|
"sideEffects": false,
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@webority/theme": "0.
|
|
31
|
-
"@webority/ui-elements": "0.
|
|
30
|
+
"@webority/theme": "0.39.0",
|
|
31
|
+
"@webority/ui-elements": "0.39.0"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@webority/analytics": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0",
|