@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.
Files changed (261) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +7 -0
  3. package/package.json +63 -0
  4. package/src/index.d.ts +48 -0
  5. package/src/index.js +179 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/components/aglyn-text.d.ts +86 -0
  8. package/src/lib/components/aglyn-text.js +44 -0
  9. package/src/lib/components/aglyn-text.js.map +1 -0
  10. package/src/lib/components/app-link.d.ts +74 -0
  11. package/src/lib/components/app-link.js +139 -0
  12. package/src/lib/components/app-link.js.map +1 -0
  13. package/src/lib/components/aspect-ratio.d.ts +59 -0
  14. package/src/lib/components/aspect-ratio.js +153 -0
  15. package/src/lib/components/aspect-ratio.js.map +1 -0
  16. package/src/lib/components/background-image.component.d.ts +30 -0
  17. package/src/lib/components/background-image.component.js +42 -0
  18. package/src/lib/components/background-image.component.js.map +1 -0
  19. package/src/lib/components/card-columns.d.ts +86 -0
  20. package/src/lib/components/card-columns.js +148 -0
  21. package/src/lib/components/card-columns.js.map +1 -0
  22. package/src/lib/components/card-display.d.ts +36 -0
  23. package/src/lib/components/card-display.js +158 -0
  24. package/src/lib/components/card-display.js.map +1 -0
  25. package/src/lib/components/card-list-item.d.ts +35 -0
  26. package/src/lib/components/card-list-item.js +137 -0
  27. package/src/lib/components/card-list-item.js.map +1 -0
  28. package/src/lib/components/children-function-prop.d.ts +25 -0
  29. package/src/lib/components/children-function-prop.js +29 -0
  30. package/src/lib/components/children-function-prop.js.map +1 -0
  31. package/src/lib/components/confirmation-provider.component.d.ts +19 -0
  32. package/src/lib/components/confirmation-provider.component.js +83 -0
  33. package/src/lib/components/confirmation-provider.component.js.map +1 -0
  34. package/src/lib/components/container.d.ts +25 -0
  35. package/src/lib/components/container.js +62 -0
  36. package/src/lib/components/container.js.map +1 -0
  37. package/src/lib/components/data-table.component.d.ts +54 -0
  38. package/src/lib/components/data-table.component.js +211 -0
  39. package/src/lib/components/data-table.component.js.map +1 -0
  40. package/src/lib/components/dialog-confirm.d.ts +36 -0
  41. package/src/lib/components/dialog-confirm.js +74 -0
  42. package/src/lib/components/dialog-confirm.js.map +1 -0
  43. package/src/lib/components/ellipsis-pulse.component.d.ts +22 -0
  44. package/src/lib/components/ellipsis-pulse.component.js +51 -0
  45. package/src/lib/components/ellipsis-pulse.component.js.map +1 -0
  46. package/src/lib/components/emotion-cache-provider.d.ts +31 -0
  47. package/src/lib/components/emotion-cache-provider.js +40 -0
  48. package/src/lib/components/emotion-cache-provider.js.map +1 -0
  49. package/src/lib/components/empty-state.component.d.ts +63 -0
  50. package/src/lib/components/empty-state.component.js +214 -0
  51. package/src/lib/components/empty-state.component.js.map +1 -0
  52. package/src/lib/components/error-boundary.component.d.ts +28 -0
  53. package/src/lib/components/error-boundary.component.js +86 -0
  54. package/src/lib/components/error-boundary.component.js.map +1 -0
  55. package/src/lib/components/grid-buttons.d.ts +26 -0
  56. package/src/lib/components/grid-buttons.js +45 -0
  57. package/src/lib/components/grid-buttons.js.map +1 -0
  58. package/src/lib/components/grid-items.d.ts +103 -0
  59. package/src/lib/components/grid-items.js +336 -0
  60. package/src/lib/components/grid-items.js.map +1 -0
  61. package/src/lib/components/grid-list.d.ts +37 -0
  62. package/src/lib/components/grid-list.js +156 -0
  63. package/src/lib/components/grid-list.js.map +1 -0
  64. package/src/lib/components/help-tip.component.d.ts +30 -0
  65. package/src/lib/components/help-tip.component.js +139 -0
  66. package/src/lib/components/help-tip.component.js.map +1 -0
  67. package/src/lib/components/link-navigation-reporter.d.ts +24 -0
  68. package/src/lib/components/link-navigation-reporter.js +64 -0
  69. package/src/lib/components/link-navigation-reporter.js.map +1 -0
  70. package/src/lib/components/list-pagination.component.d.ts +57 -0
  71. package/src/lib/components/list-pagination.component.js +90 -0
  72. package/src/lib/components/list-pagination.component.js.map +1 -0
  73. package/src/lib/components/list-table.component.d.ts +155 -0
  74. package/src/lib/components/list-table.component.js +369 -0
  75. package/src/lib/components/list-table.component.js.map +1 -0
  76. package/src/lib/components/loading-layout-app.component.d.ts +35 -0
  77. package/src/lib/components/loading-layout-app.component.js +42 -0
  78. package/src/lib/components/loading-layout-app.component.js.map +1 -0
  79. package/src/lib/components/loading-modal-overlay.d.ts +30 -0
  80. package/src/lib/components/loading-modal-overlay.js +156 -0
  81. package/src/lib/components/loading-modal-overlay.js.map +1 -0
  82. package/src/lib/components/loading-modal.d.ts +19 -0
  83. package/src/lib/components/loading-modal.js +113 -0
  84. package/src/lib/components/loading-modal.js.map +1 -0
  85. package/src/lib/components/loading-text.component.d.ts +21 -0
  86. package/src/lib/components/loading-text.component.js +40 -0
  87. package/src/lib/components/loading-text.component.js.map +1 -0
  88. package/src/lib/components/mdi-icon/index.d.ts +2 -0
  89. package/src/lib/components/mdi-icon/index.js +4 -0
  90. package/src/lib/components/mdi-icon/index.js.map +1 -0
  91. package/src/lib/components/mdi-icon/md-icon-stack.d.ts +31 -0
  92. package/src/lib/components/mdi-icon/md-icon-stack.js +101 -0
  93. package/src/lib/components/mdi-icon/md-icon-stack.js.map +1 -0
  94. package/src/lib/components/mdi-icon/md-icon.d.ts +32 -0
  95. package/src/lib/components/mdi-icon/md-icon.js +147 -0
  96. package/src/lib/components/mdi-icon/md-icon.js.map +1 -0
  97. package/src/lib/components/mdi-icon/mdi-icon-from-id.d.ts +23 -0
  98. package/src/lib/components/mdi-icon/mdi-icon-from-id.js +35 -0
  99. package/src/lib/components/mdi-icon/mdi-icon-from-id.js.map +1 -0
  100. package/src/lib/components/mdi-icon/mdi-icon.d.ts +24 -0
  101. package/src/lib/components/mdi-icon/mdi-icon.js +46 -0
  102. package/src/lib/components/mdi-icon/mdi-icon.js.map +1 -0
  103. package/src/lib/components/measured-figures.component.d.ts +64 -0
  104. package/src/lib/components/measured-figures.component.js +161 -0
  105. package/src/lib/components/measured-figures.component.js.map +1 -0
  106. package/src/lib/components/menu.d.ts +45 -0
  107. package/src/lib/components/menu.js +229 -0
  108. package/src/lib/components/menu.js.map +1 -0
  109. package/src/lib/components/mui-shadow-dom.d.ts +38 -0
  110. package/src/lib/components/mui-shadow-dom.js +161 -0
  111. package/src/lib/components/mui-shadow-dom.js.map +1 -0
  112. package/src/lib/components/navigation-drawer.component.d.ts +31 -0
  113. package/src/lib/components/navigation-drawer.component.js +76 -0
  114. package/src/lib/components/navigation-drawer.component.js.map +1 -0
  115. package/src/lib/components/navigation-intent.d.ts +18 -0
  116. package/src/lib/components/navigation-intent.js +56 -0
  117. package/src/lib/components/navigation-intent.js.map +1 -0
  118. package/src/lib/components/navigation-view/index.d.ts +18 -0
  119. package/src/lib/components/navigation-view/index.js +19 -0
  120. package/src/lib/components/navigation-view/index.js.map +1 -0
  121. package/src/lib/components/navigation-view/navigation-view.d.ts +35 -0
  122. package/src/lib/components/navigation-view/navigation-view.js +175 -0
  123. package/src/lib/components/navigation-view/navigation-view.js.map +1 -0
  124. package/src/lib/components/next-link.d.ts +27 -0
  125. package/src/lib/components/next-link.js +88 -0
  126. package/src/lib/components/next-link.js.map +1 -0
  127. package/src/lib/components/popper-styled.component.d.ts +25 -0
  128. package/src/lib/components/popper-styled.component.js +129 -0
  129. package/src/lib/components/popper-styled.component.js.map +1 -0
  130. package/src/lib/components/quota-readout.component.d.ts +69 -0
  131. package/src/lib/components/quota-readout.component.js +52 -0
  132. package/src/lib/components/quota-readout.component.js.map +1 -0
  133. package/src/lib/components/resizeable-stack.d.ts +4 -0
  134. package/src/lib/components/resizeable-stack.js +23 -0
  135. package/src/lib/components/resizeable-stack.js.map +1 -0
  136. package/src/lib/components/row-actions-menu.component.d.ts +53 -0
  137. package/src/lib/components/row-actions-menu.component.js +132 -0
  138. package/src/lib/components/row-actions-menu.component.js.map +1 -0
  139. package/src/lib/components/ruler-guides.component.d.ts +35 -0
  140. package/src/lib/components/ruler-guides.component.js +166 -0
  141. package/src/lib/components/ruler-guides.component.js.map +1 -0
  142. package/src/lib/components/sandbox-frame.d.ts +42 -0
  143. package/src/lib/components/sandbox-frame.js +122 -0
  144. package/src/lib/components/sandbox-frame.js.map +1 -0
  145. package/src/lib/components/scroll-reaction.d.ts +59 -0
  146. package/src/lib/components/scroll-reaction.js +43 -0
  147. package/src/lib/components/scroll-reaction.js.map +1 -0
  148. package/src/lib/components/scroll-table.component.d.ts +124 -0
  149. package/src/lib/components/scroll-table.component.js +103 -0
  150. package/src/lib/components/scroll-table.component.js.map +1 -0
  151. package/src/lib/components/shadow-dom/index.d.ts +18 -0
  152. package/src/lib/components/shadow-dom/index.js +19 -0
  153. package/src/lib/components/shadow-dom/index.js.map +1 -0
  154. package/src/lib/components/shadow-dom/shadow-dom.d.ts +42 -0
  155. package/src/lib/components/shadow-dom/shadow-dom.js +123 -0
  156. package/src/lib/components/shadow-dom/shadow-dom.js.map +1 -0
  157. package/src/lib/components/splash-screen.d.ts +33 -0
  158. package/src/lib/components/splash-screen.js +105 -0
  159. package/src/lib/components/splash-screen.js.map +1 -0
  160. package/src/lib/components/sr-only.d.ts +20 -0
  161. package/src/lib/components/sr-only.js +25 -0
  162. package/src/lib/components/sr-only.js.map +1 -0
  163. package/src/lib/components/status-screen-plain.component.d.ts +27 -0
  164. package/src/lib/components/status-screen-plain.component.js +178 -0
  165. package/src/lib/components/status-screen-plain.component.js.map +1 -0
  166. package/src/lib/components/usage-meter.component.d.ts +30 -0
  167. package/src/lib/components/usage-meter.component.js +92 -0
  168. package/src/lib/components/usage-meter.component.js.map +1 -0
  169. package/src/lib/components/variable-text-field.component.d.ts +50 -0
  170. package/src/lib/components/variable-text-field.component.js +188 -0
  171. package/src/lib/components/variable-text-field.component.js.map +1 -0
  172. package/src/lib/components/zoomable-panning-component/index.d.ts +1 -0
  173. package/src/lib/components/zoomable-panning-component/index.js +3 -0
  174. package/src/lib/components/zoomable-panning-component/index.js.map +1 -0
  175. package/src/lib/components/zoomable-panning-component/util.d.ts +58 -0
  176. package/src/lib/components/zoomable-panning-component/util.js +114 -0
  177. package/src/lib/components/zoomable-panning-component/util.js.map +1 -0
  178. package/src/lib/components/zoomable-panning-component/zoomable-panning-component.d.ts +132 -0
  179. package/src/lib/components/zoomable-panning-component/zoomable-panning-component.js +728 -0
  180. package/src/lib/components/zoomable-panning-component/zoomable-panning-component.js.map +1 -0
  181. package/src/lib/const/aglyn-besigner-logo-full.d.ts +39 -0
  182. package/src/lib/const/aglyn-besigner-logo-full.js +146 -0
  183. package/src/lib/const/aglyn-besigner-logo-full.js.map +1 -0
  184. package/src/lib/const/aglyn-console-logo-full.d.ts +34 -0
  185. package/src/lib/const/aglyn-console-logo-full.js +142 -0
  186. package/src/lib/const/aglyn-console-logo-full.js.map +1 -0
  187. package/src/lib/const/aglyn-logo-class-keys.d.ts +30 -0
  188. package/src/lib/const/aglyn-logo-class-keys.js +32 -0
  189. package/src/lib/const/aglyn-logo-class-keys.js.map +1 -0
  190. package/src/lib/const/aglyn-logo-full.d.ts +29 -0
  191. package/src/lib/const/aglyn-logo-full.js +111 -0
  192. package/src/lib/const/aglyn-logo-full.js.map +1 -0
  193. package/src/lib/const/list-filter.d.ts +260 -0
  194. package/src/lib/const/list-filter.js +409 -0
  195. package/src/lib/const/list-filter.js.map +1 -0
  196. package/src/lib/const/prebuilt-components.d.ts +17 -0
  197. package/src/lib/const/prebuilt-components.js +22 -0
  198. package/src/lib/const/prebuilt-components.js.map +1 -0
  199. package/src/lib/const/svg-icons.d.ts +75 -0
  200. package/src/lib/const/svg-icons.js +313 -0
  201. package/src/lib/const/svg-icons.js.map +1 -0
  202. package/src/lib/const/table-pagination.d.ts +106 -0
  203. package/src/lib/const/table-pagination.js +106 -0
  204. package/src/lib/const/table-pagination.js.map +1 -0
  205. package/src/lib/contexts/confirmation.context.d.ts +996 -0
  206. package/src/lib/contexts/confirmation.context.js +49 -0
  207. package/src/lib/contexts/confirmation.context.js.map +1 -0
  208. package/src/lib/contexts/loading.context.d.ts +93 -0
  209. package/src/lib/contexts/loading.context.js +126 -0
  210. package/src/lib/contexts/loading.context.js.map +1 -0
  211. package/src/lib/hocs/create-hoc-with-context-consumer.d.ts +36 -0
  212. package/src/lib/hocs/create-hoc-with-context-consumer.js +44 -0
  213. package/src/lib/hocs/create-hoc-with-context-consumer.js.map +1 -0
  214. package/src/lib/hocs/with-hoc.d.ts +32 -0
  215. package/src/lib/hocs/with-hoc.js +37 -0
  216. package/src/lib/hocs/with-hoc.js.map +1 -0
  217. package/src/lib/hooks/mdi-icon/use-mdi-icon.d.ts +20 -0
  218. package/src/lib/hooks/mdi-icon/use-mdi-icon.js +48 -0
  219. package/src/lib/hooks/mdi-icon/use-mdi-icon.js.map +1 -0
  220. package/src/lib/hooks/mdi-icon/use-mdi-icons-fuzzy.d.ts +26 -0
  221. package/src/lib/hooks/mdi-icon/use-mdi-icons-fuzzy.js +73 -0
  222. package/src/lib/hooks/mdi-icon/use-mdi-icons-fuzzy.js.map +1 -0
  223. package/src/lib/hooks/mdi-icon/use-mdi-icons.d.ts +19 -0
  224. package/src/lib/hooks/mdi-icon/use-mdi-icons.js +49 -0
  225. package/src/lib/hooks/mdi-icon/use-mdi-icons.js.map +1 -0
  226. package/src/lib/hooks/router-events.d.ts +56 -0
  227. package/src/lib/hooks/router-events.js +88 -0
  228. package/src/lib/hooks/router-events.js.map +1 -0
  229. package/src/lib/hooks/use-async-effect.d.ts +24 -0
  230. package/src/lib/hooks/use-async-effect.js +44 -0
  231. package/src/lib/hooks/use-async-effect.js.map +1 -0
  232. package/src/lib/hooks/use-callback-param-ref.d.ts +19 -0
  233. package/src/lib/hooks/use-callback-param-ref.js +29 -0
  234. package/src/lib/hooks/use-callback-param-ref.js.map +1 -0
  235. package/src/lib/hooks/use-id.d.ts +21 -0
  236. package/src/lib/hooks/use-id.js +28 -0
  237. package/src/lib/hooks/use-id.js.map +1 -0
  238. package/src/lib/hooks/use-isomorphic-layout-effect.d.ts +19 -0
  239. package/src/lib/hooks/use-isomorphic-layout-effect.js +20 -0
  240. package/src/lib/hooks/use-isomorphic-layout-effect.js.map +1 -0
  241. package/src/lib/hooks/use-merge-refs.d.ts +38 -0
  242. package/src/lib/hooks/use-merge-refs.js +52 -0
  243. package/src/lib/hooks/use-merge-refs.js.map +1 -0
  244. package/src/lib/hooks/use-subscribable.d.ts +29 -0
  245. package/src/lib/hooks/use-subscribable.js +50 -0
  246. package/src/lib/hooks/use-subscribable.js.map +1 -0
  247. package/src/lib/types.d.ts +18 -0
  248. package/src/lib/types.js +18 -0
  249. package/src/lib/types.js.map +1 -0
  250. package/src/lib/utils/make-link-elements.d.ts +24 -0
  251. package/src/lib/utils/make-link-elements.js +32 -0
  252. package/src/lib/utils/make-link-elements.js.map +1 -0
  253. package/src/lib/utils/make-meta-elements.d.ts +24 -0
  254. package/src/lib/utils/make-meta-elements.js +32 -0
  255. package/src/lib/utils/make-meta-elements.js.map +1 -0
  256. package/src/lib/utils/scroll-overflow.d.ts +120 -0
  257. package/src/lib/utils/scroll-overflow.js +115 -0
  258. package/src/lib/utils/scroll-overflow.js.map +1 -0
  259. package/src/lib/utils/vendor.d.ts +17 -0
  260. package/src/lib/utils/vendor.js +18 -0
  261. 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>;