@aglyn/shared-ui-jsx 1.0.0-beta.143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +7 -0
- package/package.json +63 -0
- package/src/index.d.ts +48 -0
- package/src/index.js +179 -0
- package/src/index.js.map +1 -0
- package/src/lib/components/aglyn-text.d.ts +86 -0
- package/src/lib/components/aglyn-text.js +44 -0
- package/src/lib/components/aglyn-text.js.map +1 -0
- package/src/lib/components/app-link.d.ts +74 -0
- package/src/lib/components/app-link.js +139 -0
- package/src/lib/components/app-link.js.map +1 -0
- package/src/lib/components/aspect-ratio.d.ts +59 -0
- package/src/lib/components/aspect-ratio.js +153 -0
- package/src/lib/components/aspect-ratio.js.map +1 -0
- package/src/lib/components/background-image.component.d.ts +30 -0
- package/src/lib/components/background-image.component.js +42 -0
- package/src/lib/components/background-image.component.js.map +1 -0
- package/src/lib/components/card-columns.d.ts +86 -0
- package/src/lib/components/card-columns.js +148 -0
- package/src/lib/components/card-columns.js.map +1 -0
- package/src/lib/components/card-display.d.ts +36 -0
- package/src/lib/components/card-display.js +158 -0
- package/src/lib/components/card-display.js.map +1 -0
- package/src/lib/components/card-list-item.d.ts +35 -0
- package/src/lib/components/card-list-item.js +137 -0
- package/src/lib/components/card-list-item.js.map +1 -0
- package/src/lib/components/children-function-prop.d.ts +25 -0
- package/src/lib/components/children-function-prop.js +29 -0
- package/src/lib/components/children-function-prop.js.map +1 -0
- package/src/lib/components/confirmation-provider.component.d.ts +19 -0
- package/src/lib/components/confirmation-provider.component.js +83 -0
- package/src/lib/components/confirmation-provider.component.js.map +1 -0
- package/src/lib/components/container.d.ts +25 -0
- package/src/lib/components/container.js +62 -0
- package/src/lib/components/container.js.map +1 -0
- package/src/lib/components/data-table.component.d.ts +54 -0
- package/src/lib/components/data-table.component.js +211 -0
- package/src/lib/components/data-table.component.js.map +1 -0
- package/src/lib/components/dialog-confirm.d.ts +36 -0
- package/src/lib/components/dialog-confirm.js +74 -0
- package/src/lib/components/dialog-confirm.js.map +1 -0
- package/src/lib/components/ellipsis-pulse.component.d.ts +22 -0
- package/src/lib/components/ellipsis-pulse.component.js +51 -0
- package/src/lib/components/ellipsis-pulse.component.js.map +1 -0
- package/src/lib/components/emotion-cache-provider.d.ts +31 -0
- package/src/lib/components/emotion-cache-provider.js +40 -0
- package/src/lib/components/emotion-cache-provider.js.map +1 -0
- package/src/lib/components/empty-state.component.d.ts +63 -0
- package/src/lib/components/empty-state.component.js +214 -0
- package/src/lib/components/empty-state.component.js.map +1 -0
- package/src/lib/components/error-boundary.component.d.ts +28 -0
- package/src/lib/components/error-boundary.component.js +86 -0
- package/src/lib/components/error-boundary.component.js.map +1 -0
- package/src/lib/components/grid-buttons.d.ts +26 -0
- package/src/lib/components/grid-buttons.js +45 -0
- package/src/lib/components/grid-buttons.js.map +1 -0
- package/src/lib/components/grid-items.d.ts +103 -0
- package/src/lib/components/grid-items.js +336 -0
- package/src/lib/components/grid-items.js.map +1 -0
- package/src/lib/components/grid-list.d.ts +37 -0
- package/src/lib/components/grid-list.js +156 -0
- package/src/lib/components/grid-list.js.map +1 -0
- package/src/lib/components/help-tip.component.d.ts +30 -0
- package/src/lib/components/help-tip.component.js +139 -0
- package/src/lib/components/help-tip.component.js.map +1 -0
- package/src/lib/components/link-navigation-reporter.d.ts +24 -0
- package/src/lib/components/link-navigation-reporter.js +64 -0
- package/src/lib/components/link-navigation-reporter.js.map +1 -0
- package/src/lib/components/list-pagination.component.d.ts +57 -0
- package/src/lib/components/list-pagination.component.js +90 -0
- package/src/lib/components/list-pagination.component.js.map +1 -0
- package/src/lib/components/list-table.component.d.ts +155 -0
- package/src/lib/components/list-table.component.js +369 -0
- package/src/lib/components/list-table.component.js.map +1 -0
- package/src/lib/components/loading-layout-app.component.d.ts +35 -0
- package/src/lib/components/loading-layout-app.component.js +42 -0
- package/src/lib/components/loading-layout-app.component.js.map +1 -0
- package/src/lib/components/loading-modal-overlay.d.ts +30 -0
- package/src/lib/components/loading-modal-overlay.js +156 -0
- package/src/lib/components/loading-modal-overlay.js.map +1 -0
- package/src/lib/components/loading-modal.d.ts +19 -0
- package/src/lib/components/loading-modal.js +113 -0
- package/src/lib/components/loading-modal.js.map +1 -0
- package/src/lib/components/loading-text.component.d.ts +21 -0
- package/src/lib/components/loading-text.component.js +40 -0
- package/src/lib/components/loading-text.component.js.map +1 -0
- package/src/lib/components/mdi-icon/index.d.ts +2 -0
- package/src/lib/components/mdi-icon/index.js +4 -0
- package/src/lib/components/mdi-icon/index.js.map +1 -0
- package/src/lib/components/mdi-icon/md-icon-stack.d.ts +31 -0
- package/src/lib/components/mdi-icon/md-icon-stack.js +101 -0
- package/src/lib/components/mdi-icon/md-icon-stack.js.map +1 -0
- package/src/lib/components/mdi-icon/md-icon.d.ts +32 -0
- package/src/lib/components/mdi-icon/md-icon.js +147 -0
- package/src/lib/components/mdi-icon/md-icon.js.map +1 -0
- package/src/lib/components/mdi-icon/mdi-icon-from-id.d.ts +23 -0
- package/src/lib/components/mdi-icon/mdi-icon-from-id.js +35 -0
- package/src/lib/components/mdi-icon/mdi-icon-from-id.js.map +1 -0
- package/src/lib/components/mdi-icon/mdi-icon.d.ts +24 -0
- package/src/lib/components/mdi-icon/mdi-icon.js +46 -0
- package/src/lib/components/mdi-icon/mdi-icon.js.map +1 -0
- package/src/lib/components/measured-figures.component.d.ts +64 -0
- package/src/lib/components/measured-figures.component.js +161 -0
- package/src/lib/components/measured-figures.component.js.map +1 -0
- package/src/lib/components/menu.d.ts +45 -0
- package/src/lib/components/menu.js +229 -0
- package/src/lib/components/menu.js.map +1 -0
- package/src/lib/components/mui-shadow-dom.d.ts +38 -0
- package/src/lib/components/mui-shadow-dom.js +161 -0
- package/src/lib/components/mui-shadow-dom.js.map +1 -0
- package/src/lib/components/navigation-drawer.component.d.ts +31 -0
- package/src/lib/components/navigation-drawer.component.js +76 -0
- package/src/lib/components/navigation-drawer.component.js.map +1 -0
- package/src/lib/components/navigation-intent.d.ts +18 -0
- package/src/lib/components/navigation-intent.js +56 -0
- package/src/lib/components/navigation-intent.js.map +1 -0
- package/src/lib/components/navigation-view/index.d.ts +18 -0
- package/src/lib/components/navigation-view/index.js +19 -0
- package/src/lib/components/navigation-view/index.js.map +1 -0
- package/src/lib/components/navigation-view/navigation-view.d.ts +35 -0
- package/src/lib/components/navigation-view/navigation-view.js +175 -0
- package/src/lib/components/navigation-view/navigation-view.js.map +1 -0
- package/src/lib/components/next-link.d.ts +27 -0
- package/src/lib/components/next-link.js +88 -0
- package/src/lib/components/next-link.js.map +1 -0
- package/src/lib/components/popper-styled.component.d.ts +25 -0
- package/src/lib/components/popper-styled.component.js +129 -0
- package/src/lib/components/popper-styled.component.js.map +1 -0
- package/src/lib/components/quota-readout.component.d.ts +69 -0
- package/src/lib/components/quota-readout.component.js +52 -0
- package/src/lib/components/quota-readout.component.js.map +1 -0
- package/src/lib/components/resizeable-stack.d.ts +4 -0
- package/src/lib/components/resizeable-stack.js +23 -0
- package/src/lib/components/resizeable-stack.js.map +1 -0
- package/src/lib/components/row-actions-menu.component.d.ts +53 -0
- package/src/lib/components/row-actions-menu.component.js +132 -0
- package/src/lib/components/row-actions-menu.component.js.map +1 -0
- package/src/lib/components/ruler-guides.component.d.ts +35 -0
- package/src/lib/components/ruler-guides.component.js +166 -0
- package/src/lib/components/ruler-guides.component.js.map +1 -0
- package/src/lib/components/sandbox-frame.d.ts +42 -0
- package/src/lib/components/sandbox-frame.js +122 -0
- package/src/lib/components/sandbox-frame.js.map +1 -0
- package/src/lib/components/scroll-reaction.d.ts +59 -0
- package/src/lib/components/scroll-reaction.js +43 -0
- package/src/lib/components/scroll-reaction.js.map +1 -0
- package/src/lib/components/scroll-table.component.d.ts +124 -0
- package/src/lib/components/scroll-table.component.js +103 -0
- package/src/lib/components/scroll-table.component.js.map +1 -0
- package/src/lib/components/shadow-dom/index.d.ts +18 -0
- package/src/lib/components/shadow-dom/index.js +19 -0
- package/src/lib/components/shadow-dom/index.js.map +1 -0
- package/src/lib/components/shadow-dom/shadow-dom.d.ts +42 -0
- package/src/lib/components/shadow-dom/shadow-dom.js +123 -0
- package/src/lib/components/shadow-dom/shadow-dom.js.map +1 -0
- package/src/lib/components/splash-screen.d.ts +33 -0
- package/src/lib/components/splash-screen.js +105 -0
- package/src/lib/components/splash-screen.js.map +1 -0
- package/src/lib/components/sr-only.d.ts +20 -0
- package/src/lib/components/sr-only.js +25 -0
- package/src/lib/components/sr-only.js.map +1 -0
- package/src/lib/components/status-screen-plain.component.d.ts +27 -0
- package/src/lib/components/status-screen-plain.component.js +178 -0
- package/src/lib/components/status-screen-plain.component.js.map +1 -0
- package/src/lib/components/usage-meter.component.d.ts +30 -0
- package/src/lib/components/usage-meter.component.js +92 -0
- package/src/lib/components/usage-meter.component.js.map +1 -0
- package/src/lib/components/variable-text-field.component.d.ts +50 -0
- package/src/lib/components/variable-text-field.component.js +188 -0
- package/src/lib/components/variable-text-field.component.js.map +1 -0
- package/src/lib/components/zoomable-panning-component/index.d.ts +1 -0
- package/src/lib/components/zoomable-panning-component/index.js +3 -0
- package/src/lib/components/zoomable-panning-component/index.js.map +1 -0
- package/src/lib/components/zoomable-panning-component/util.d.ts +58 -0
- package/src/lib/components/zoomable-panning-component/util.js +114 -0
- package/src/lib/components/zoomable-panning-component/util.js.map +1 -0
- package/src/lib/components/zoomable-panning-component/zoomable-panning-component.d.ts +132 -0
- package/src/lib/components/zoomable-panning-component/zoomable-panning-component.js +728 -0
- package/src/lib/components/zoomable-panning-component/zoomable-panning-component.js.map +1 -0
- package/src/lib/const/aglyn-besigner-logo-full.d.ts +39 -0
- package/src/lib/const/aglyn-besigner-logo-full.js +146 -0
- package/src/lib/const/aglyn-besigner-logo-full.js.map +1 -0
- package/src/lib/const/aglyn-console-logo-full.d.ts +34 -0
- package/src/lib/const/aglyn-console-logo-full.js +142 -0
- package/src/lib/const/aglyn-console-logo-full.js.map +1 -0
- package/src/lib/const/aglyn-logo-class-keys.d.ts +30 -0
- package/src/lib/const/aglyn-logo-class-keys.js +32 -0
- package/src/lib/const/aglyn-logo-class-keys.js.map +1 -0
- package/src/lib/const/aglyn-logo-full.d.ts +29 -0
- package/src/lib/const/aglyn-logo-full.js +111 -0
- package/src/lib/const/aglyn-logo-full.js.map +1 -0
- package/src/lib/const/list-filter.d.ts +260 -0
- package/src/lib/const/list-filter.js +409 -0
- package/src/lib/const/list-filter.js.map +1 -0
- package/src/lib/const/prebuilt-components.d.ts +17 -0
- package/src/lib/const/prebuilt-components.js +22 -0
- package/src/lib/const/prebuilt-components.js.map +1 -0
- package/src/lib/const/svg-icons.d.ts +75 -0
- package/src/lib/const/svg-icons.js +313 -0
- package/src/lib/const/svg-icons.js.map +1 -0
- package/src/lib/const/table-pagination.d.ts +106 -0
- package/src/lib/const/table-pagination.js +106 -0
- package/src/lib/const/table-pagination.js.map +1 -0
- package/src/lib/contexts/confirmation.context.d.ts +996 -0
- package/src/lib/contexts/confirmation.context.js +49 -0
- package/src/lib/contexts/confirmation.context.js.map +1 -0
- package/src/lib/contexts/loading.context.d.ts +93 -0
- package/src/lib/contexts/loading.context.js +126 -0
- package/src/lib/contexts/loading.context.js.map +1 -0
- package/src/lib/hocs/create-hoc-with-context-consumer.d.ts +36 -0
- package/src/lib/hocs/create-hoc-with-context-consumer.js +44 -0
- package/src/lib/hocs/create-hoc-with-context-consumer.js.map +1 -0
- package/src/lib/hocs/with-hoc.d.ts +32 -0
- package/src/lib/hocs/with-hoc.js +37 -0
- package/src/lib/hocs/with-hoc.js.map +1 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icon.d.ts +20 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icon.js +48 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icon.js.map +1 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icons-fuzzy.d.ts +26 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icons-fuzzy.js +73 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icons-fuzzy.js.map +1 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icons.d.ts +19 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icons.js +49 -0
- package/src/lib/hooks/mdi-icon/use-mdi-icons.js.map +1 -0
- package/src/lib/hooks/router-events.d.ts +56 -0
- package/src/lib/hooks/router-events.js +88 -0
- package/src/lib/hooks/router-events.js.map +1 -0
- package/src/lib/hooks/use-async-effect.d.ts +24 -0
- package/src/lib/hooks/use-async-effect.js +44 -0
- package/src/lib/hooks/use-async-effect.js.map +1 -0
- package/src/lib/hooks/use-callback-param-ref.d.ts +19 -0
- package/src/lib/hooks/use-callback-param-ref.js +29 -0
- package/src/lib/hooks/use-callback-param-ref.js.map +1 -0
- package/src/lib/hooks/use-id.d.ts +21 -0
- package/src/lib/hooks/use-id.js +28 -0
- package/src/lib/hooks/use-id.js.map +1 -0
- package/src/lib/hooks/use-isomorphic-layout-effect.d.ts +19 -0
- package/src/lib/hooks/use-isomorphic-layout-effect.js +20 -0
- package/src/lib/hooks/use-isomorphic-layout-effect.js.map +1 -0
- package/src/lib/hooks/use-merge-refs.d.ts +38 -0
- package/src/lib/hooks/use-merge-refs.js +52 -0
- package/src/lib/hooks/use-merge-refs.js.map +1 -0
- package/src/lib/hooks/use-subscribable.d.ts +29 -0
- package/src/lib/hooks/use-subscribable.js +50 -0
- package/src/lib/hooks/use-subscribable.js.map +1 -0
- package/src/lib/types.d.ts +18 -0
- package/src/lib/types.js +18 -0
- package/src/lib/types.js.map +1 -0
- package/src/lib/utils/make-link-elements.d.ts +24 -0
- package/src/lib/utils/make-link-elements.js +32 -0
- package/src/lib/utils/make-link-elements.js.map +1 -0
- package/src/lib/utils/make-meta-elements.d.ts +24 -0
- package/src/lib/utils/make-meta-elements.js +32 -0
- package/src/lib/utils/make-meta-elements.js.map +1 -0
- package/src/lib/utils/scroll-overflow.d.ts +120 -0
- package/src/lib/utils/scroll-overflow.js +115 -0
- package/src/lib/utils/scroll-overflow.js.map +1 -0
- package/src/lib/utils/vendor.d.ts +17 -0
- package/src/lib/utils/vendor.js +18 -0
- package/src/lib/utils/vendor.js.map +1 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import type { SvgIconProps } from '@mui/material';
|
|
18
|
+
/**
|
|
19
|
+
* The class keys every Aglyn wordmark paints through, and the variant prop
|
|
20
|
+
* they all accept.
|
|
21
|
+
*
|
|
22
|
+
* Their own module so a surface that renders ONE mark reaches only that
|
|
23
|
+
* mark's module. A `styled()` call is a top-level side effect the bundler
|
|
24
|
+
* cannot prove away, so a module holding six wordmarks ships all six to
|
|
25
|
+
* anything that names one of them.
|
|
26
|
+
*/
|
|
27
|
+
export declare const aglynLogoClassKeys: import("@aglyn/shared-ui-theme").ClassKeyMap<"compass" | "boundingBox" | "textAglyn" | "textConsole", "AglynLogo">;
|
|
28
|
+
export interface AglynLogoProps extends SvgIconProps {
|
|
29
|
+
variant?: 'light' | 'dark' | 'black' | 'white';
|
|
30
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/ import { generateComponentClassKeys } from "@aglyn/shared-ui-theme";
|
|
17
|
+
/**
|
|
18
|
+
* The class keys every Aglyn wordmark paints through, and the variant prop
|
|
19
|
+
* they all accept.
|
|
20
|
+
*
|
|
21
|
+
* Their own module so a surface that renders ONE mark reaches only that
|
|
22
|
+
* mark's module. A `styled()` call is a top-level side effect the bundler
|
|
23
|
+
* cannot prove away, so a module holding six wordmarks ships all six to
|
|
24
|
+
* anything that names one of them.
|
|
25
|
+
*/ export const aglynLogoClassKeys = generateComponentClassKeys('AglynLogo', [
|
|
26
|
+
'compass',
|
|
27
|
+
'boundingBox',
|
|
28
|
+
'textAglyn',
|
|
29
|
+
'textConsole'
|
|
30
|
+
]);
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=aglyn-logo-class-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../libs/shared/ui/jsx/src/lib/const/aglyn-logo-class-keys.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { generateComponentClassKeys } from '@aglyn/shared-ui-theme'\nimport type { SvgIconProps } from '@mui/material'\n\n/**\n * The class keys every Aglyn wordmark paints through, and the variant prop\n * they all accept.\n *\n * Their own module so a surface that renders ONE mark reaches only that\n * mark's module. A `styled()` call is a top-level side effect the bundler\n * cannot prove away, so a module holding six wordmarks ships all six to\n * anything that names one of them.\n */\nexport const aglynLogoClassKeys = generateComponentClassKeys('AglynLogo', [\n 'compass',\n 'boundingBox',\n 'textAglyn',\n 'textConsole',\n])\n\nexport interface AglynLogoProps extends SvgIconProps {\n variant?: 'light' | 'dark' | 'black' | 'white'\n}\n"],"names":["generateComponentClassKeys","aglynLogoClassKeys"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED,SAASA,0BAA0B,QAAQ,yBAAwB;AAGnE;;;;;;;;CAQC,GACD,OAAO,MAAMC,qBAAqBD,2BAA2B,aAAa;IACxE;IACA;IACA;IACA;CACD,EAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { type AglynLogoProps } from './aglyn-logo-class-keys';
|
|
18
|
+
/**
|
|
19
|
+
* The Aglyn mark and logotype side by side.
|
|
20
|
+
*
|
|
21
|
+
* The one wordmark a published customer site can render: the navigation
|
|
22
|
+
* loader falls back to it when a host has set no logo of its own. It sits
|
|
23
|
+
* apart from the console and besigner wordmarks in `svg-icons.tsx` so that
|
|
24
|
+
* fallback does not carry the two authoring marks — which no customer page
|
|
25
|
+
* can draw — onto every page of every site.
|
|
26
|
+
*/
|
|
27
|
+
export declare const AglynLogoFull: import("@emotion/styled").StyledComponent<import("@mui/material").SvgIconOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").SVGProps<SVGSVGElement>, "children" | "style" | "className" | "color" | "fontSize" | "shapeRendering" | "classes" | "sx" | "htmlColor" | "inheritViewBox" | "titleAccess" | "viewBox"> & {
|
|
28
|
+
component?: React.ElementType | undefined;
|
|
29
|
+
} & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & AglynLogoProps, {}, {}>;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Aglyn LLC
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/ import { styled, SvgIcon } from "@mui/material";
|
|
19
|
+
import { aglynLogoClassKeys } from "./aglyn-logo-class-keys.js";
|
|
20
|
+
/**
|
|
21
|
+
* The Aglyn mark and logotype side by side.
|
|
22
|
+
*
|
|
23
|
+
* The one wordmark a published customer site can render: the navigation
|
|
24
|
+
* loader falls back to it when a host has set no logo of its own. It sits
|
|
25
|
+
* apart from the console and besigner wordmarks in `svg-icons.tsx` so that
|
|
26
|
+
* fallback does not carry the two authoring marks — which no customer page
|
|
27
|
+
* can draw — onto every page of every site.
|
|
28
|
+
*/ export const AglynLogoFull = styled((props)=>{
|
|
29
|
+
return /*#__PURE__*/ _jsxs(SvgIcon, _extends({}, props, {
|
|
30
|
+
viewBox: "0 0 79 24",
|
|
31
|
+
children: [
|
|
32
|
+
/*#__PURE__*/ _jsx("title", {
|
|
33
|
+
children: "Aglyn"
|
|
34
|
+
}),
|
|
35
|
+
/*#__PURE__*/ _jsxs("g", {
|
|
36
|
+
id: "aglyn-logo-full-light",
|
|
37
|
+
children: [
|
|
38
|
+
/*#__PURE__*/ _jsxs("g", {
|
|
39
|
+
id: "aglyn-logo-mark-multi",
|
|
40
|
+
children: [
|
|
41
|
+
/*#__PURE__*/ _jsx("path", {
|
|
42
|
+
className: aglynLogoClassKeys.compass,
|
|
43
|
+
d: "M5,16.235l-0.267,0.184l-1.733,0.152l-0,1.459l-1,0l-0,4l4,0l0,-1l7.171,0l-0.148,-0.262l-0,-1.738l-7.023,0l0,-1l-1,0l0,-1.795Zm14,-7.233l0,9.028l-0.004,0l0,2.738l-0.714,1.262l3.718,0l0,-4l-1,0l0,-10.273c-0.37,0 -0.836,-0 -0.836,-0c-0.307,0.47 -0.697,0.893 -1.164,1.245Zm-16,0.145l2,-1.376l0,-1.741l1,0l0,-1l4.748,0l0.279,-0.192c0.025,-0.624 0.167,-1.238 0.416,-1.808l-5.443,0l0,-1l-4,0l-0,4l1,0l-0,3.117Zm19,-7.117l-2.029,0c0.067,0.088 0.131,0.179 0.192,0.273l1.281,0l0.556,0.556l0,-0.829Z"
|
|
44
|
+
}),
|
|
45
|
+
/*#__PURE__*/ _jsx("path", {
|
|
46
|
+
className: aglynLogoClassKeys.boundingBox,
|
|
47
|
+
d: "M15,10.03c0.323,0.073 0.661,0.112 1.01,0.112c0.348,0 0.687,-0.039 1.009,-0.112l0,10.217l-1.009,1.783l-1.01,-1.783l0,-10.217Zm-1.898,-4.22c-0.345,-1.281 0.196,-2.684 1.398,-3.378c1.434,-0.828 3.27,-0.336 4.098,1.098c0.139,0.241 0.241,0.493 0.307,0.75l1.72,0l0.375,0.375l-0,0.75l-0.375,0.375l-1.721,0c-0.194,0.752 -0.679,1.429 -1.404,1.848c-1.052,0.607 -2.319,0.505 -3.247,-0.159l-3.458,2.379l-0.252,1.364l-3.296,2.267l-1.363,-0.252l-1.843,1.268l-2.041,0.179l0.897,-1.843l1.826,-1.256c0,-0 0.257,-1.391 0.257,-1.391l3.296,-2.267l1.39,0.257l3.436,-2.364Zm3.398,0.086c-0.478,0.276 -1.09,0.112 -1.366,-0.366c-0.276,-0.478 -0.112,-1.09 0.366,-1.366c0.478,-0.276 1.09,-0.112 1.366,0.366c0.276,0.478 0.112,1.09 -0.366,1.366Z"
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
}),
|
|
51
|
+
/*#__PURE__*/ _jsx("g", {
|
|
52
|
+
id: "aglyn-logo-text-light",
|
|
53
|
+
children: /*#__PURE__*/ _jsx("path", {
|
|
54
|
+
className: aglynLogoClassKeys.textAglyn,
|
|
55
|
+
d: "M55.612,19.363c0.246,0.058 0.482,0.107 0.707,0.146c0.224,0.04 0.414,0.06 0.57,0.06c0.257,-0 0.477,-0.066 0.658,-0.196c0.182,-0.131 0.355,-0.366 0.518,-0.707c0.163,-0.34 0.34,-0.815 0.53,-1.424l-4.385,-10.907l2.938,-0l2.995,8.059l2.618,-8.059l2.697,-0l-4.645,13.065c-0.165,0.495 -0.423,0.941 -0.774,1.338c-0.352,0.397 -0.781,0.709 -1.289,0.935c-0.507,0.226 -1.08,0.339 -1.717,0.339c-0.228,0 -0.457,-0.018 -0.686,-0.053c-0.229,-0.036 -0.475,-0.097 -0.735,-0.182l-0,-2.414Zm-13.445,-2.052c-0.734,0 -1.408,-0.145 -2.023,-0.434c-0.614,-0.289 -1.14,-0.689 -1.579,-1.2c-0.438,-0.511 -0.777,-1.1 -1.017,-1.766c-0.241,-0.667 -0.361,-1.373 -0.361,-2.12c0,-0.789 0.125,-1.525 0.375,-2.208c0.25,-0.684 0.604,-1.284 1.062,-1.802c0.458,-0.517 1,-0.92 1.626,-1.209c0.627,-0.289 1.32,-0.434 2.081,-0.434c0.859,0 1.614,0.192 2.266,0.577c0.651,0.385 1.184,0.899 1.599,1.541l-0,-1.921l2.477,-0l0,10.388c0,1.078 -0.264,2.002 -0.793,2.772c-0.529,0.771 -1.256,1.362 -2.182,1.774c-0.925,0.411 -1.979,0.617 -3.162,0.617c-1.208,0 -2.227,-0.199 -3.058,-0.598c-0.83,-0.399 -1.541,-0.954 -2.132,-1.665l1.545,-1.491c0.424,0.519 0.956,0.925 1.596,1.216c0.641,0.291 1.324,0.437 2.049,0.437c0.594,-0 1.141,-0.108 1.642,-0.323c0.501,-0.214 0.903,-0.548 1.207,-1.001c0.304,-0.453 0.456,-1.032 0.456,-1.738l0,-1.371c-0.364,0.623 -0.88,1.105 -1.547,1.446c-0.667,0.342 -1.376,0.513 -2.127,0.513Zm-16.167,-3.288c-0,-0.713 0.202,-1.335 0.607,-1.867c0.405,-0.532 0.964,-0.946 1.678,-1.242c0.714,-0.297 1.536,-0.445 2.466,-0.445c0.468,-0 0.941,0.036 1.417,0.11c0.476,0.073 0.894,0.183 1.253,0.329l0,-0.584c0,-0.689 -0.207,-1.222 -0.622,-1.597c-0.416,-0.376 -1.031,-0.564 -1.846,-0.564c-0.613,0 -1.194,0.105 -1.744,0.314c-0.551,0.208 -1.129,0.511 -1.737,0.907l-0.895,-1.817c0.731,-0.479 1.48,-0.837 2.246,-1.074c0.767,-0.237 1.575,-0.355 2.427,-0.355c1.568,0 2.794,0.388 3.678,1.165c0.884,0.777 1.326,1.89 1.326,3.34l-0,3.484c-0,0.291 0.05,0.498 0.151,0.621c0.102,0.123 0.274,0.194 0.517,0.215l-0,2.279c-0.247,0.047 -0.472,0.082 -0.676,0.105c-0.204,0.023 -0.38,0.035 -0.528,0.035c-0.564,-0 -0.99,-0.123 -1.278,-0.368c-0.289,-0.245 -0.466,-0.553 -0.532,-0.923l-0.061,-0.556c-0.486,0.617 -1.087,1.091 -1.805,1.421c-0.718,0.33 -1.451,0.495 -2.199,0.495c-0.733,-0 -1.392,-0.151 -1.976,-0.453c-0.584,-0.301 -1.041,-0.712 -1.371,-1.231c-0.331,-0.519 -0.496,-1.101 -0.496,-1.744Zm24.558,-11.982l2.833,0l-0,11.695c-0,0.51 0.086,0.851 0.258,1.024c0.172,0.173 0.4,0.26 0.684,0.26c0.239,0 0.476,-0.03 0.712,-0.089c0.236,-0.059 0.443,-0.13 0.62,-0.212l0.391,2.138c-0.386,0.169 -0.831,0.304 -1.333,0.406c-0.502,0.102 -0.963,0.153 -1.382,0.153c-0.878,0 -1.561,-0.234 -2.05,-0.702c-0.488,-0.469 -0.733,-1.129 -0.733,-1.983l0,-12.69Zm26.442,15.201l-2.832,0l-0,-6.118c-0,-0.877 -0.155,-1.516 -0.463,-1.919c-0.308,-0.403 -0.737,-0.605 -1.285,-0.605c-0.381,0 -0.765,0.099 -1.154,0.295c-0.389,0.197 -0.738,0.465 -1.046,0.804c-0.308,0.338 -0.537,0.729 -0.687,1.172l-0,6.371l-2.833,0l0,-10.907l2.559,-0l-0,2.013c0.283,-0.464 0.645,-0.86 1.084,-1.187c0.44,-0.328 0.943,-0.581 1.509,-0.758c0.566,-0.176 1.171,-0.265 1.812,-0.265c0.692,0 1.257,0.122 1.696,0.367c0.44,0.245 0.778,0.574 1.015,0.986c0.237,0.413 0.4,0.873 0.49,1.382c0.09,0.508 0.135,1.026 0.135,1.553l-0,6.816Zm-44.119,-2.674c0.163,-0.157 0.294,-0.32 0.392,-0.49c0.099,-0.17 0.148,-0.325 0.148,-0.463l0,-1.11c-0.341,-0.129 -0.709,-0.231 -1.102,-0.305c-0.393,-0.075 -0.768,-0.112 -1.125,-0.112c-0.735,-0 -1.337,0.154 -1.808,0.463c-0.47,0.308 -0.705,0.719 -0.705,1.232c-0,0.278 0.077,0.543 0.233,0.794c0.155,0.251 0.38,0.454 0.674,0.609c0.294,0.155 0.649,0.233 1.065,0.233c0.425,0 0.84,-0.08 1.243,-0.24c0.404,-0.16 0.733,-0.364 0.985,-0.611Zm10.247,0.511c0.306,0 0.599,-0.049 0.88,-0.147c0.28,-0.098 0.541,-0.23 0.781,-0.397c0.24,-0.166 0.451,-0.362 0.634,-0.588c0.183,-0.226 0.322,-0.464 0.418,-0.713l0,-2.597c-0.165,-0.425 -0.4,-0.797 -0.703,-1.116c-0.302,-0.319 -0.642,-0.567 -1.018,-0.745c-0.376,-0.178 -0.763,-0.267 -1.161,-0.267c-0.436,0 -0.832,0.093 -1.187,0.279c-0.355,0.186 -0.659,0.439 -0.911,0.76c-0.253,0.321 -0.448,0.68 -0.586,1.078c-0.137,0.398 -0.206,0.81 -0.206,1.234c0,0.448 0.078,0.866 0.234,1.254c0.156,0.388 0.372,0.73 0.646,1.027c0.275,0.297 0.6,0.527 0.976,0.692c0.376,0.164 0.777,0.246 1.203,0.246Z"
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
]
|
|
59
|
+
})
|
|
60
|
+
]
|
|
61
|
+
}));
|
|
62
|
+
}, {
|
|
63
|
+
name: 'AglynLogoFull',
|
|
64
|
+
shouldForwardProp: (prop)=>prop !== 'variant'
|
|
65
|
+
})(({ theme, variant })=>{
|
|
66
|
+
let compass;
|
|
67
|
+
let boundingBox;
|
|
68
|
+
let textAglyn;
|
|
69
|
+
switch(variant){
|
|
70
|
+
case 'white':
|
|
71
|
+
compass = theme.palette.common.white;
|
|
72
|
+
boundingBox = theme.palette.common.white;
|
|
73
|
+
textAglyn = theme.palette.common.white;
|
|
74
|
+
break;
|
|
75
|
+
case 'black':
|
|
76
|
+
compass = theme.palette.common.black;
|
|
77
|
+
boundingBox = theme.palette.common.black;
|
|
78
|
+
textAglyn = theme.palette.common.white;
|
|
79
|
+
break;
|
|
80
|
+
case 'light':
|
|
81
|
+
compass = theme.palette.primary.main;
|
|
82
|
+
boundingBox = theme.palette.secondary.main;
|
|
83
|
+
textAglyn = theme.palette.common.white;
|
|
84
|
+
break;
|
|
85
|
+
case 'dark':
|
|
86
|
+
boundingBox = theme.palette.primary.main;
|
|
87
|
+
compass = theme.palette.secondary.main;
|
|
88
|
+
textAglyn = theme.palette.common.black;
|
|
89
|
+
break;
|
|
90
|
+
default:
|
|
91
|
+
boundingBox = theme.palette.primary.main;
|
|
92
|
+
compass = theme.palette.secondary.main;
|
|
93
|
+
textAglyn = theme.palette.mode === 'light' ? theme.palette.primary.main : theme.palette.primary.main;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
fillRule: 'evenodd',
|
|
98
|
+
height: 'auto',
|
|
99
|
+
[`& .${aglynLogoClassKeys.boundingBox}`]: {
|
|
100
|
+
fill: boundingBox
|
|
101
|
+
},
|
|
102
|
+
[`& .${aglynLogoClassKeys.compass}`]: {
|
|
103
|
+
fill: compass
|
|
104
|
+
},
|
|
105
|
+
[`& .${aglynLogoClassKeys.textAglyn}`]: {
|
|
106
|
+
fill: textAglyn
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=aglyn-logo-full.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../libs/shared/ui/jsx/src/lib/const/aglyn-logo-full.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { styled, SvgIcon, SvgIconProps } from '@mui/material'\nimport {\n aglynLogoClassKeys,\n type AglynLogoProps,\n} from './aglyn-logo-class-keys'\n\n/**\n * The Aglyn mark and logotype side by side.\n *\n * The one wordmark a published customer site can render: the navigation\n * loader falls back to it when a host has set no logo of its own. It sits\n * apart from the console and besigner wordmarks in `svg-icons.tsx` so that\n * fallback does not carry the two authoring marks — which no customer page\n * can draw — onto every page of every site.\n */\nexport const AglynLogoFull = styled(\n (props: SvgIconProps) => {\n return (\n <SvgIcon {...props} viewBox=\"0 0 79 24\">\n <title>Aglyn</title>\n <g id=\"aglyn-logo-full-light\">\n <g id=\"aglyn-logo-mark-multi\">\n <path\n className={aglynLogoClassKeys.compass}\n d=\"M5,16.235l-0.267,0.184l-1.733,0.152l-0,1.459l-1,0l-0,4l4,0l0,-1l7.171,0l-0.148,-0.262l-0,-1.738l-7.023,0l0,-1l-1,0l0,-1.795Zm14,-7.233l0,9.028l-0.004,0l0,2.738l-0.714,1.262l3.718,0l0,-4l-1,0l0,-10.273c-0.37,0 -0.836,-0 -0.836,-0c-0.307,0.47 -0.697,0.893 -1.164,1.245Zm-16,0.145l2,-1.376l0,-1.741l1,0l0,-1l4.748,0l0.279,-0.192c0.025,-0.624 0.167,-1.238 0.416,-1.808l-5.443,0l0,-1l-4,0l-0,4l1,0l-0,3.117Zm19,-7.117l-2.029,0c0.067,0.088 0.131,0.179 0.192,0.273l1.281,0l0.556,0.556l0,-0.829Z\"\n />\n <path\n className={aglynLogoClassKeys.boundingBox}\n d=\"M15,10.03c0.323,0.073 0.661,0.112 1.01,0.112c0.348,0 0.687,-0.039 1.009,-0.112l0,10.217l-1.009,1.783l-1.01,-1.783l0,-10.217Zm-1.898,-4.22c-0.345,-1.281 0.196,-2.684 1.398,-3.378c1.434,-0.828 3.27,-0.336 4.098,1.098c0.139,0.241 0.241,0.493 0.307,0.75l1.72,0l0.375,0.375l-0,0.75l-0.375,0.375l-1.721,0c-0.194,0.752 -0.679,1.429 -1.404,1.848c-1.052,0.607 -2.319,0.505 -3.247,-0.159l-3.458,2.379l-0.252,1.364l-3.296,2.267l-1.363,-0.252l-1.843,1.268l-2.041,0.179l0.897,-1.843l1.826,-1.256c0,-0 0.257,-1.391 0.257,-1.391l3.296,-2.267l1.39,0.257l3.436,-2.364Zm3.398,0.086c-0.478,0.276 -1.09,0.112 -1.366,-0.366c-0.276,-0.478 -0.112,-1.09 0.366,-1.366c0.478,-0.276 1.09,-0.112 1.366,0.366c0.276,0.478 0.112,1.09 -0.366,1.366Z\"\n />\n </g>\n <g id=\"aglyn-logo-text-light\">\n <path\n className={aglynLogoClassKeys.textAglyn}\n d=\"M55.612,19.363c0.246,0.058 0.482,0.107 0.707,0.146c0.224,0.04 0.414,0.06 0.57,0.06c0.257,-0 0.477,-0.066 0.658,-0.196c0.182,-0.131 0.355,-0.366 0.518,-0.707c0.163,-0.34 0.34,-0.815 0.53,-1.424l-4.385,-10.907l2.938,-0l2.995,8.059l2.618,-8.059l2.697,-0l-4.645,13.065c-0.165,0.495 -0.423,0.941 -0.774,1.338c-0.352,0.397 -0.781,0.709 -1.289,0.935c-0.507,0.226 -1.08,0.339 -1.717,0.339c-0.228,0 -0.457,-0.018 -0.686,-0.053c-0.229,-0.036 -0.475,-0.097 -0.735,-0.182l-0,-2.414Zm-13.445,-2.052c-0.734,0 -1.408,-0.145 -2.023,-0.434c-0.614,-0.289 -1.14,-0.689 -1.579,-1.2c-0.438,-0.511 -0.777,-1.1 -1.017,-1.766c-0.241,-0.667 -0.361,-1.373 -0.361,-2.12c0,-0.789 0.125,-1.525 0.375,-2.208c0.25,-0.684 0.604,-1.284 1.062,-1.802c0.458,-0.517 1,-0.92 1.626,-1.209c0.627,-0.289 1.32,-0.434 2.081,-0.434c0.859,0 1.614,0.192 2.266,0.577c0.651,0.385 1.184,0.899 1.599,1.541l-0,-1.921l2.477,-0l0,10.388c0,1.078 -0.264,2.002 -0.793,2.772c-0.529,0.771 -1.256,1.362 -2.182,1.774c-0.925,0.411 -1.979,0.617 -3.162,0.617c-1.208,0 -2.227,-0.199 -3.058,-0.598c-0.83,-0.399 -1.541,-0.954 -2.132,-1.665l1.545,-1.491c0.424,0.519 0.956,0.925 1.596,1.216c0.641,0.291 1.324,0.437 2.049,0.437c0.594,-0 1.141,-0.108 1.642,-0.323c0.501,-0.214 0.903,-0.548 1.207,-1.001c0.304,-0.453 0.456,-1.032 0.456,-1.738l0,-1.371c-0.364,0.623 -0.88,1.105 -1.547,1.446c-0.667,0.342 -1.376,0.513 -2.127,0.513Zm-16.167,-3.288c-0,-0.713 0.202,-1.335 0.607,-1.867c0.405,-0.532 0.964,-0.946 1.678,-1.242c0.714,-0.297 1.536,-0.445 2.466,-0.445c0.468,-0 0.941,0.036 1.417,0.11c0.476,0.073 0.894,0.183 1.253,0.329l0,-0.584c0,-0.689 -0.207,-1.222 -0.622,-1.597c-0.416,-0.376 -1.031,-0.564 -1.846,-0.564c-0.613,0 -1.194,0.105 -1.744,0.314c-0.551,0.208 -1.129,0.511 -1.737,0.907l-0.895,-1.817c0.731,-0.479 1.48,-0.837 2.246,-1.074c0.767,-0.237 1.575,-0.355 2.427,-0.355c1.568,0 2.794,0.388 3.678,1.165c0.884,0.777 1.326,1.89 1.326,3.34l-0,3.484c-0,0.291 0.05,0.498 0.151,0.621c0.102,0.123 0.274,0.194 0.517,0.215l-0,2.279c-0.247,0.047 -0.472,0.082 -0.676,0.105c-0.204,0.023 -0.38,0.035 -0.528,0.035c-0.564,-0 -0.99,-0.123 -1.278,-0.368c-0.289,-0.245 -0.466,-0.553 -0.532,-0.923l-0.061,-0.556c-0.486,0.617 -1.087,1.091 -1.805,1.421c-0.718,0.33 -1.451,0.495 -2.199,0.495c-0.733,-0 -1.392,-0.151 -1.976,-0.453c-0.584,-0.301 -1.041,-0.712 -1.371,-1.231c-0.331,-0.519 -0.496,-1.101 -0.496,-1.744Zm24.558,-11.982l2.833,0l-0,11.695c-0,0.51 0.086,0.851 0.258,1.024c0.172,0.173 0.4,0.26 0.684,0.26c0.239,0 0.476,-0.03 0.712,-0.089c0.236,-0.059 0.443,-0.13 0.62,-0.212l0.391,2.138c-0.386,0.169 -0.831,0.304 -1.333,0.406c-0.502,0.102 -0.963,0.153 -1.382,0.153c-0.878,0 -1.561,-0.234 -2.05,-0.702c-0.488,-0.469 -0.733,-1.129 -0.733,-1.983l0,-12.69Zm26.442,15.201l-2.832,0l-0,-6.118c-0,-0.877 -0.155,-1.516 -0.463,-1.919c-0.308,-0.403 -0.737,-0.605 -1.285,-0.605c-0.381,0 -0.765,0.099 -1.154,0.295c-0.389,0.197 -0.738,0.465 -1.046,0.804c-0.308,0.338 -0.537,0.729 -0.687,1.172l-0,6.371l-2.833,0l0,-10.907l2.559,-0l-0,2.013c0.283,-0.464 0.645,-0.86 1.084,-1.187c0.44,-0.328 0.943,-0.581 1.509,-0.758c0.566,-0.176 1.171,-0.265 1.812,-0.265c0.692,0 1.257,0.122 1.696,0.367c0.44,0.245 0.778,0.574 1.015,0.986c0.237,0.413 0.4,0.873 0.49,1.382c0.09,0.508 0.135,1.026 0.135,1.553l-0,6.816Zm-44.119,-2.674c0.163,-0.157 0.294,-0.32 0.392,-0.49c0.099,-0.17 0.148,-0.325 0.148,-0.463l0,-1.11c-0.341,-0.129 -0.709,-0.231 -1.102,-0.305c-0.393,-0.075 -0.768,-0.112 -1.125,-0.112c-0.735,-0 -1.337,0.154 -1.808,0.463c-0.47,0.308 -0.705,0.719 -0.705,1.232c-0,0.278 0.077,0.543 0.233,0.794c0.155,0.251 0.38,0.454 0.674,0.609c0.294,0.155 0.649,0.233 1.065,0.233c0.425,0 0.84,-0.08 1.243,-0.24c0.404,-0.16 0.733,-0.364 0.985,-0.611Zm10.247,0.511c0.306,0 0.599,-0.049 0.88,-0.147c0.28,-0.098 0.541,-0.23 0.781,-0.397c0.24,-0.166 0.451,-0.362 0.634,-0.588c0.183,-0.226 0.322,-0.464 0.418,-0.713l0,-2.597c-0.165,-0.425 -0.4,-0.797 -0.703,-1.116c-0.302,-0.319 -0.642,-0.567 -1.018,-0.745c-0.376,-0.178 -0.763,-0.267 -1.161,-0.267c-0.436,0 -0.832,0.093 -1.187,0.279c-0.355,0.186 -0.659,0.439 -0.911,0.76c-0.253,0.321 -0.448,0.68 -0.586,1.078c-0.137,0.398 -0.206,0.81 -0.206,1.234c0,0.448 0.078,0.866 0.234,1.254c0.156,0.388 0.372,0.73 0.646,1.027c0.275,0.297 0.6,0.527 0.976,0.692c0.376,0.164 0.777,0.246 1.203,0.246Z\"\n />\n </g>\n </g>\n </SvgIcon>\n )\n },\n {\n name: 'AglynLogoFull',\n shouldForwardProp: (prop) => prop !== 'variant',\n },\n)<AglynLogoProps>(({ theme, variant }) => {\n let compass: string\n let boundingBox: string\n let textAglyn: string\n\n switch (variant) {\n case 'white':\n compass = theme.palette.common.white\n boundingBox = theme.palette.common.white\n textAglyn = theme.palette.common.white\n break\n case 'black':\n compass = theme.palette.common.black\n boundingBox = theme.palette.common.black\n textAglyn = theme.palette.common.white\n break\n case 'light':\n compass = theme.palette.primary.main\n boundingBox = theme.palette.secondary.main\n textAglyn = theme.palette.common.white\n break\n case 'dark':\n boundingBox = theme.palette.primary.main\n compass = theme.palette.secondary.main\n textAglyn = theme.palette.common.black\n break\n default:\n boundingBox = theme.palette.primary.main\n compass = theme.palette.secondary.main\n textAglyn =\n theme.palette.mode === 'light'\n ? theme.palette.primary.main\n : theme.palette.primary.main\n break\n }\n\n return {\n fillRule: 'evenodd',\n height: 'auto',\n\n [`& .${aglynLogoClassKeys.boundingBox}`]: {\n fill: boundingBox,\n },\n [`& .${aglynLogoClassKeys.compass}`]: {\n fill: compass,\n },\n [`& .${aglynLogoClassKeys.textAglyn}`]: {\n fill: textAglyn,\n },\n }\n})\n"],"names":["styled","SvgIcon","aglynLogoClassKeys","AglynLogoFull","props","viewBox","title","g","id","path","className","compass","d","boundingBox","textAglyn","name","shouldForwardProp","prop","theme","variant","palette","common","white","black","primary","main","secondary","mode","fillRule","height","fill"],"mappings":";;AAAA;;;;;;;;;;;;;;;CAeC,GAED,SAASA,MAAM,EAAEC,OAAO,QAAsB,gBAAe;AAC7D,SACEC,kBAAkB,QAEb,6BAAyB;AAEhC;;;;;;;;CAQC,GACD,OAAO,MAAMC,gBAAgBH,OAC3B,CAACI;IACC,qBACE,MAACH,sBAAYG;QAAOC,SAAQ;;0BAC1B,KAACC;0BAAM;;0BACP,MAACC;gBAAEC,IAAG;;kCACJ,MAACD;wBAAEC,IAAG;;0CACJ,KAACC;gCACCC,WAAWR,mBAAmBS,OAAO;gCACrCC,GAAE;;0CAEJ,KAACH;gCACCC,WAAWR,mBAAmBW,WAAW;gCACzCD,GAAE;;;;kCAGN,KAACL;wBAAEC,IAAG;kCACJ,cAAA,KAACC;4BACCC,WAAWR,mBAAmBY,SAAS;4BACvCF,GAAE;;;;;;;AAMd,GACA;IACEG,MAAM;IACNC,mBAAmB,CAACC,OAASA,SAAS;AACxC,GACgB,CAAC,EAAEC,KAAK,EAAEC,OAAO,EAAE;IACnC,IAAIR;IACJ,IAAIE;IACJ,IAAIC;IAEJ,OAAQK;QACN,KAAK;YACHR,UAAUO,MAAME,OAAO,CAACC,MAAM,CAACC,KAAK;YACpCT,cAAcK,MAAME,OAAO,CAACC,MAAM,CAACC,KAAK;YACxCR,YAAYI,MAAME,OAAO,CAACC,MAAM,CAACC,KAAK;YACtC;QACF,KAAK;YACHX,UAAUO,MAAME,OAAO,CAACC,MAAM,CAACE,KAAK;YACpCV,cAAcK,MAAME,OAAO,CAACC,MAAM,CAACE,KAAK;YACxCT,YAAYI,MAAME,OAAO,CAACC,MAAM,CAACC,KAAK;YACtC;QACF,KAAK;YACHX,UAAUO,MAAME,OAAO,CAACI,OAAO,CAACC,IAAI;YACpCZ,cAAcK,MAAME,OAAO,CAACM,SAAS,CAACD,IAAI;YAC1CX,YAAYI,MAAME,OAAO,CAACC,MAAM,CAACC,KAAK;YACtC;QACF,KAAK;YACHT,cAAcK,MAAME,OAAO,CAACI,OAAO,CAACC,IAAI;YACxCd,UAAUO,MAAME,OAAO,CAACM,SAAS,CAACD,IAAI;YACtCX,YAAYI,MAAME,OAAO,CAACC,MAAM,CAACE,KAAK;YACtC;QACF;YACEV,cAAcK,MAAME,OAAO,CAACI,OAAO,CAACC,IAAI;YACxCd,UAAUO,MAAME,OAAO,CAACM,SAAS,CAACD,IAAI;YACtCX,YACEI,MAAME,OAAO,CAACO,IAAI,KAAK,UACnBT,MAAME,OAAO,CAACI,OAAO,CAACC,IAAI,GAC1BP,MAAME,OAAO,CAACI,OAAO,CAACC,IAAI;YAChC;IACJ;IAEA,OAAO;QACLG,UAAU;QACVC,QAAQ;QAER,CAAC,CAAC,GAAG,EAAE3B,mBAAmBW,WAAW,EAAE,CAAC,EAAE;YACxCiB,MAAMjB;QACR;QACA,CAAC,CAAC,GAAG,EAAEX,mBAAmBS,OAAO,EAAE,CAAC,EAAE;YACpCmB,MAAMnB;QACR;QACA,CAAC,CAAC,GAAG,EAAET,mBAAmBY,SAAS,EAAE,CAAC,EAAE;YACtCgB,MAAMhB;QACR;IACF;AACF,GAAE"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { type GridFilterOperator } from '@mui/x-data-grid';
|
|
18
|
+
/**
|
|
19
|
+
* ONE declaration of what a paged list can be filtered by (AGL-2501).
|
|
20
|
+
*
|
|
21
|
+
* A paged list filters on the SERVER or it does not filter: `filterMode="server"`
|
|
22
|
+
* stops the grid narrowing anything itself, so the panel shows the rows already
|
|
23
|
+
* fetched — ten of them by default — and an operator the route does not answer
|
|
24
|
+
* becomes a control that quietly does nothing. On a staff list whose whole job
|
|
25
|
+
* is that nobody is missing, "no matches" is the one answer it must never give
|
|
26
|
+
* wrongly.
|
|
27
|
+
*
|
|
28
|
+
* So a list declares its filterable fields ONCE, in a module both its route and
|
|
29
|
+
* its page import. The declaration decides two things that must never disagree:
|
|
30
|
+
* which operators the menu offers (here) and which predicates the query builds
|
|
31
|
+
* (`applyListFilter`, server-side, which needs firebase-admin and so cannot
|
|
32
|
+
* live in this file).
|
|
33
|
+
*
|
|
34
|
+
* ## Why the menu is shorter than MUI's
|
|
35
|
+
*
|
|
36
|
+
* Firestore has equality, `in`, ranges and `array-contains`. Everything below
|
|
37
|
+
* is built from those four:
|
|
38
|
+
*
|
|
39
|
+
* equals / isAnyOf equality and `in` (Firestore caps `in` at 30 values)
|
|
40
|
+
* startsWith a range over the normalized lower-case key
|
|
41
|
+
* endsWith a range over the key stored REVERSED — a range is
|
|
42
|
+
* anchored at the FRONT of a value, so storing the value
|
|
43
|
+
* backwards is the only way to ask about its end
|
|
44
|
+
* contains `array-contains` over word-prefix tokens, so it is
|
|
45
|
+
* WORD-level: "coffee" finds "Acme Coffee", "offee" does
|
|
46
|
+
* not find anything
|
|
47
|
+
* before / after ranges on a timestamp or a number
|
|
48
|
+
* isNotEmpty `!= null`, which in Firestore also requires the field to
|
|
49
|
+
* EXIST — which is the meaning wanted
|
|
50
|
+
*
|
|
51
|
+
* ⛔ `doesNotContain` is offered nowhere and cannot be. Firestore has no
|
|
52
|
+
* negated substring match, and no denormalization fixes it: the inverse of a
|
|
53
|
+
* token array is every string the value does not contain, which is unbounded.
|
|
54
|
+
*
|
|
55
|
+
* ⚠️ The two empty operators depend on how a field's WRITERS behave, which is
|
|
56
|
+
* what `presence` declares. Firestore cannot query for absence at all:
|
|
57
|
+
* `where(path, '==', null)` matches an explicit null and never a missing field,
|
|
58
|
+
* while `where(path, '!=', null)` additionally requires the field to exist.
|
|
59
|
+
* So a field that writers omit can answer `isNotEmpty` exactly and can never
|
|
60
|
+
* answer `isEmpty` — it would say "none" to a question with real answers — and
|
|
61
|
+
* a field that is always written answers both, but each with a foregone
|
|
62
|
+
* result. Only a `nullable` field earns both operators for real.
|
|
63
|
+
*/
|
|
64
|
+
/** How a field can be queried, which decides which operators it offers. */
|
|
65
|
+
export type ListFilterKind = 'text' | 'exact' | 'boolean' | 'number' | 'date' | 'id';
|
|
66
|
+
export interface ListFilterField {
|
|
67
|
+
/** The grid column's `field` — what the client sends back. */
|
|
68
|
+
column: string;
|
|
69
|
+
kind: ListFilterKind;
|
|
70
|
+
/** The Firestore field path the predicate targets. */
|
|
71
|
+
path: string;
|
|
72
|
+
/**
|
|
73
|
+
* The normalized lower-case twin, for `equals` and `startsWith` on text.
|
|
74
|
+
* Without one a text field offers neither: a raw value is case-sensitive, so
|
|
75
|
+
* it would miss rather than fail.
|
|
76
|
+
*/
|
|
77
|
+
lowerPath?: string;
|
|
78
|
+
/** Word-prefix token array, for `contains`. */
|
|
79
|
+
tokensPath?: string;
|
|
80
|
+
/**
|
|
81
|
+
* The token array holds OPAQUE IDS, matched byte for byte.
|
|
82
|
+
*
|
|
83
|
+
* A word token array is lower-cased by its writer, so a `contains` folds
|
|
84
|
+
* the typed value the same way before it looks. An id array — the forms a
|
|
85
|
+
* contact came in through, the companies they are linked to — is not: the
|
|
86
|
+
* ids are minted with mixed case, and folding one would look up an id
|
|
87
|
+
* nothing wrote. A field that says so is matched on the value exactly as
|
|
88
|
+
* given, in the query and in memory alike.
|
|
89
|
+
*/
|
|
90
|
+
verbatimTokens?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* What a `contains` orders by. Defaults to `lowerPath`, then `path`.
|
|
93
|
+
*
|
|
94
|
+
* A field whose `tokensPath` IS its own value — a real tag array, matched
|
|
95
|
+
* whole rather than by word prefix — has no lower-case twin to sort by, and
|
|
96
|
+
* defaulting to `path` would order by the array itself. Naming a scalar here
|
|
97
|
+
* keeps the composite index that combination needs an ordinary one.
|
|
98
|
+
*/
|
|
99
|
+
containsOrderBy?: string;
|
|
100
|
+
/** The reversed key, for `endsWith`. */
|
|
101
|
+
reversedPath?: string;
|
|
102
|
+
/**
|
|
103
|
+
* How the field's writers treat "no value", which is the only thing that
|
|
104
|
+
* decides whether the empty operators mean anything:
|
|
105
|
+
*
|
|
106
|
+
* `sparse` (default) writers OMIT the field. `isNotEmpty` is exact;
|
|
107
|
+
* `isEmpty` is unanswerable and so is not offered.
|
|
108
|
+
* `nullable` writers store `null`. Both operators are exact and both can
|
|
109
|
+
* return rows — the only case where offering them is useful.
|
|
110
|
+
* `always` the field is never absent and never null. Both operators have
|
|
111
|
+
* a foregone answer (all rows, then none), so neither is
|
|
112
|
+
* offered: a control whose result is known is a control that
|
|
113
|
+
* wastes the reader's time.
|
|
114
|
+
*/
|
|
115
|
+
presence?: 'sparse' | 'nullable' | 'always';
|
|
116
|
+
/**
|
|
117
|
+
* The operators this field offers, replacing the derived list.
|
|
118
|
+
*
|
|
119
|
+
* Not every list is a Firestore query. The staff account list is Firebase
|
|
120
|
+
* Auth, which cannot filter at ALL — so a filter there is answered by
|
|
121
|
+
* scanning the pools and matching in memory, and plain JavaScript can do
|
|
122
|
+
* things no index can: a mid-string `contains`, and `doesNotContain`. A
|
|
123
|
+
* list whose substrate is more capable says so here rather than being held
|
|
124
|
+
* to Firestore's limits by a shared default.
|
|
125
|
+
*
|
|
126
|
+
* Pair with {@link matchListFilter}, which is the matcher those lists use.
|
|
127
|
+
*/
|
|
128
|
+
operators?: readonly string[];
|
|
129
|
+
/**
|
|
130
|
+
* Where to read this field from a ROW, when the list matches in memory.
|
|
131
|
+
* Defaults to `path`. Only needed when the row's shape differs from the
|
|
132
|
+
* document's — an Auth record's `staff` lives under `customClaims`.
|
|
133
|
+
*/
|
|
134
|
+
rowPath?: string;
|
|
135
|
+
/**
|
|
136
|
+
* The field lives where no query can reach it, so the list matches it
|
|
137
|
+
* over the rows it has loaded and the translators refuse it.
|
|
138
|
+
*
|
|
139
|
+
* A contact's owner, stage and custom values sit on the viewing group's
|
|
140
|
+
* FACET — a map keyed per group — and a `where` on a per-group path would
|
|
141
|
+
* need an index per group. Declaring the field at all is what puts it in
|
|
142
|
+
* the menu and in a saved view; saying it is window-only is what keeps a
|
|
143
|
+
* clause on it from being sent to a query that would answer with a
|
|
144
|
+
* permission error or nothing. The list says which clauses narrowed only
|
|
145
|
+
* the window — see `listFilterPlan`.
|
|
146
|
+
*/
|
|
147
|
+
windowOnly?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* The stored value is a PRESENCE MAP — `{ form: true, order: true }` —
|
|
150
|
+
* and the filter asks about its keys.
|
|
151
|
+
*
|
|
152
|
+
* A contact's `sources` is such a map: one key per door the person came
|
|
153
|
+
* in through, never an array. Matched as though it were the array of its
|
|
154
|
+
* truthy keys, so `equals form` and `isAnyOf form,order` read the way a
|
|
155
|
+
* reader expects; a query can serve `equals` as `sources.form == true`.
|
|
156
|
+
*/
|
|
157
|
+
keysOf?: boolean;
|
|
158
|
+
}
|
|
159
|
+
/** The operators a field offers, derived from the paths it actually has. */
|
|
160
|
+
export declare function listFilterOperators(field: ListFilterField): string[];
|
|
161
|
+
/**
|
|
162
|
+
* The MUI operators for a field — the same list `listFilterOperators` names,
|
|
163
|
+
* resolved to the grid's own operator objects so the panel keeps its native
|
|
164
|
+
* inputs (a date picker for a date, a number field for a number).
|
|
165
|
+
*/
|
|
166
|
+
export declare function gridFilterOperators(field: ListFilterField): GridFilterOperator[];
|
|
167
|
+
/**
|
|
168
|
+
* Spread onto a `GridColDef` to make a column filterable exactly as far as the
|
|
169
|
+
* query can serve it. A column with NO declared field is turned off entirely —
|
|
170
|
+
* deliberately, because the alternative is a funnel icon that opens a panel
|
|
171
|
+
* nothing honours.
|
|
172
|
+
*/
|
|
173
|
+
export declare function listFilterColumn(fields: readonly ListFilterField[], column: string): {
|
|
174
|
+
filterable: boolean;
|
|
175
|
+
filterOperators?: GridFilterOperator[];
|
|
176
|
+
};
|
|
177
|
+
/** What a page sends the route: one field, one operator, one value. */
|
|
178
|
+
export interface ListFilterRequest {
|
|
179
|
+
field: string;
|
|
180
|
+
op: string;
|
|
181
|
+
value: string;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The one filter item a server-paged list can act on, read off a grid model.
|
|
185
|
+
*
|
|
186
|
+
* ONE, because Firestore composes predicates only through indexes nobody built
|
|
187
|
+
* for every pair of columns; the first usable item wins and the rest are the
|
|
188
|
+
* reader's to remove. Every list read this off the model itself, and each did
|
|
189
|
+
* it slightly differently — the common miss being `isEmpty`, which sets no
|
|
190
|
+
* value at all and so was skipped by any check that required one.
|
|
191
|
+
*/
|
|
192
|
+
export declare function gridFilterRequest(model: {
|
|
193
|
+
items?: Array<{
|
|
194
|
+
field?: unknown;
|
|
195
|
+
operator?: unknown;
|
|
196
|
+
value?: unknown;
|
|
197
|
+
}>;
|
|
198
|
+
}): ListFilterRequest | null;
|
|
199
|
+
/**
|
|
200
|
+
* EVERY usable filter item on a grid model, in the order the panel holds
|
|
201
|
+
* them — for a list that keeps more than one clause (AGL-2617).
|
|
202
|
+
*
|
|
203
|
+
* The singular reader above picks the first because a query serves one;
|
|
204
|
+
* a saved view carries a list of clauses and a list that applies it puts
|
|
205
|
+
* the first servable one on the query and matches the rest over the rows
|
|
206
|
+
* it loaded, which `listFilterPlan` in the instance library decides. The
|
|
207
|
+
* two readers share one notion of "usable", so a clause the singular one
|
|
208
|
+
* would take is a clause this one keeps.
|
|
209
|
+
*/
|
|
210
|
+
export declare function gridFilterRequests(model: {
|
|
211
|
+
items?: Array<{
|
|
212
|
+
field?: unknown;
|
|
213
|
+
operator?: unknown;
|
|
214
|
+
value?: unknown;
|
|
215
|
+
}>;
|
|
216
|
+
}): ListFilterRequest[];
|
|
217
|
+
/**
|
|
218
|
+
* How an operator reads on a chip or in a sentence — "Owner is Dana",
|
|
219
|
+
* "Created on or after 1 Jan". One map so every list that shows its
|
|
220
|
+
* clauses back spells them the same way; an operator nothing here names
|
|
221
|
+
* is shown as itself rather than hidden.
|
|
222
|
+
*/
|
|
223
|
+
export declare function listFilterOperatorLabel(op: string): string;
|
|
224
|
+
/**
|
|
225
|
+
* Fields a reader can filter by that are NOT columns on the table.
|
|
226
|
+
*
|
|
227
|
+
* MUI's filter panel lists COLUMNS — `gridFilterableColumnDefinitionsSelector`
|
|
228
|
+
* reads every column definition, hidden ones included — so a filterable field
|
|
229
|
+
* with no column is a field nobody can reach however well the route answers it.
|
|
230
|
+
* Declaring it as a permanently hidden column keeps one source of truth, the
|
|
231
|
+
* field list, instead of a second list of "extra filters" that drifts from it.
|
|
232
|
+
*
|
|
233
|
+
* `hideable: false` keeps them out of Manage columns as well: a column with no
|
|
234
|
+
* `renderCell` and no width has nothing to show, and a reader who unhid one
|
|
235
|
+
* would get a strip of blank cells for their trouble.
|
|
236
|
+
*
|
|
237
|
+
* Pair with {@link hiddenFilterVisibility}, which is what actually hides them.
|
|
238
|
+
*/
|
|
239
|
+
export declare function hiddenFilterColumns(fields: readonly ListFilterField[], visible: readonly string[], headers?: Readonly<Record<string, string>>): Array<{
|
|
240
|
+
field: string;
|
|
241
|
+
headerName: string;
|
|
242
|
+
hideable: boolean;
|
|
243
|
+
filterable: boolean;
|
|
244
|
+
filterOperators?: GridFilterOperator[];
|
|
245
|
+
}>;
|
|
246
|
+
/**
|
|
247
|
+
* Match ONE row against a filter, for a list that cannot push it to a query.
|
|
248
|
+
*
|
|
249
|
+
* The staff account list is the reason this exists: it is Firebase Auth, whose
|
|
250
|
+
* `listUsers` takes a page size and a cursor and nothing else — no predicate,
|
|
251
|
+
* no ordering, no search. A filter there is answered by walking the pools and
|
|
252
|
+
* matching here, which is why that list can offer a mid-string `contains` and
|
|
253
|
+
* a `doesNotContain` that a Firestore-backed list cannot.
|
|
254
|
+
*
|
|
255
|
+
* The declaration is still the same `ListFilterField`, so a list swapping
|
|
256
|
+
* substrates changes where the matching happens and not what it offers.
|
|
257
|
+
*/
|
|
258
|
+
export declare function matchListFilter(row: unknown, fields: readonly ListFilterField[], input: ListFilterRequest | null): boolean;
|
|
259
|
+
/** The visibility model that hides what {@link hiddenFilterColumns} added. */
|
|
260
|
+
export declare function hiddenFilterVisibility(fields: readonly ListFilterField[], visible: readonly string[]): Record<string, boolean>;
|