@capillaryjs/capillary-ui 1.0.0-alpha.1

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 (178) hide show
  1. package/CHANGELOG.md +459 -0
  2. package/LICENSE +55 -0
  3. package/NOTICE +2 -0
  4. package/README.md +853 -0
  5. package/colors/README.md +63 -0
  6. package/colors/gray/colors.css +16 -0
  7. package/colors/green/colors.css +16 -0
  8. package/colors/iceblue/colors.css +19 -0
  9. package/colors/ocean/colors.css +16 -0
  10. package/colors/orange/colors.css +16 -0
  11. package/colors/purple/colors.css +16 -0
  12. package/colors/red/colors.css +16 -0
  13. package/colors/yellow/colors.css +16 -0
  14. package/dist/Components/Placeholder.d.ts +15 -0
  15. package/dist/Components/Placeholder.d.ts.map +1 -0
  16. package/dist/Components/app/app.d.ts +41 -0
  17. package/dist/Components/app/app.d.ts.map +1 -0
  18. package/dist/Components/component.d.ts +256 -0
  19. package/dist/Components/component.d.ts.map +1 -0
  20. package/dist/Components/controlUtils.d.ts +23 -0
  21. package/dist/Components/controlUtils.d.ts.map +1 -0
  22. package/dist/Components/data/descriptionList.d.ts +23 -0
  23. package/dist/Components/data/descriptionList.d.ts.map +1 -0
  24. package/dist/Components/data/filterState.d.ts +38 -0
  25. package/dist/Components/data/filterState.d.ts.map +1 -0
  26. package/dist/Components/data/infoPanel.d.ts +29 -0
  27. package/dist/Components/data/infoPanel.d.ts.map +1 -0
  28. package/dist/Components/data/listview/listview.d.ts +51 -0
  29. package/dist/Components/data/listview/listview.d.ts.map +1 -0
  30. package/dist/Components/data/selectionhandler.d.ts +87 -0
  31. package/dist/Components/data/selectionhandler.d.ts.map +1 -0
  32. package/dist/Components/data/table/DataTable.d.ts +79 -0
  33. package/dist/Components/data/table/DataTable.d.ts.map +1 -0
  34. package/dist/Components/data/table/FilterPanel.d.ts +41 -0
  35. package/dist/Components/data/table/FilterPanel.d.ts.map +1 -0
  36. package/dist/Components/data/table/TableHeader.d.ts +23 -0
  37. package/dist/Components/data/table/TableHeader.d.ts.map +1 -0
  38. package/dist/Components/data/table/TableHeaderCell.d.ts +41 -0
  39. package/dist/Components/data/table/TableHeaderCell.d.ts.map +1 -0
  40. package/dist/Components/data/table/tableDataSource.d.ts +49 -0
  41. package/dist/Components/data/table/tableDataSource.d.ts.map +1 -0
  42. package/dist/Components/data/table/tableQuery.d.ts +29 -0
  43. package/dist/Components/data/table/tableQuery.d.ts.map +1 -0
  44. package/dist/Components/data/treeview/treeModel.d.ts +23 -0
  45. package/dist/Components/data/treeview/treeModel.d.ts.map +1 -0
  46. package/dist/Components/data/treeview/treeitem.d.ts +21 -0
  47. package/dist/Components/data/treeview/treeitem.d.ts.map +1 -0
  48. package/dist/Components/data/treeview/treeview.d.ts +49 -0
  49. package/dist/Components/data/treeview/treeview.d.ts.map +1 -0
  50. package/dist/Components/dialog/dialog.d.ts +46 -0
  51. package/dist/Components/dialog/dialog.d.ts.map +1 -0
  52. package/dist/Components/layout/declarativeRegion.d.ts +30 -0
  53. package/dist/Components/layout/declarativeRegion.d.ts.map +1 -0
  54. package/dist/Components/layout/groupBox.d.ts +21 -0
  55. package/dist/Components/layout/groupBox.d.ts.map +1 -0
  56. package/dist/Components/layout/header.d.ts +20 -0
  57. package/dist/Components/layout/header.d.ts.map +1 -0
  58. package/dist/Components/layout/layout.d.ts +28 -0
  59. package/dist/Components/layout/layout.d.ts.map +1 -0
  60. package/dist/Components/layout/layoutTraits.d.ts +39 -0
  61. package/dist/Components/layout/layoutTraits.d.ts.map +1 -0
  62. package/dist/Components/layout/optionGroup.d.ts +35 -0
  63. package/dist/Components/layout/optionGroup.d.ts.map +1 -0
  64. package/dist/Components/layout/optionsBox.d.ts +12 -0
  65. package/dist/Components/layout/optionsBox.d.ts.map +1 -0
  66. package/dist/Components/layout/panel.d.ts +34 -0
  67. package/dist/Components/layout/panel.d.ts.map +1 -0
  68. package/dist/Components/layout/routedSelection.d.ts +10 -0
  69. package/dist/Components/layout/routedSelection.d.ts.map +1 -0
  70. package/dist/Components/layout/sidebar.d.ts +27 -0
  71. package/dist/Components/layout/sidebar.d.ts.map +1 -0
  72. package/dist/Components/layout/splitView.d.ts +82 -0
  73. package/dist/Components/layout/splitView.d.ts.map +1 -0
  74. package/dist/Components/layout/tabpanel/tab.d.ts +15 -0
  75. package/dist/Components/layout/tabpanel/tab.d.ts.map +1 -0
  76. package/dist/Components/layout/tabpanel/tabline.d.ts +31 -0
  77. package/dist/Components/layout/tabpanel/tabline.d.ts.map +1 -0
  78. package/dist/Components/layout/tabpanel/tabpanel.d.ts +44 -0
  79. package/dist/Components/layout/tabpanel/tabpanel.d.ts.map +1 -0
  80. package/dist/Components/lineinputs/CheckableControl.d.ts +7 -0
  81. package/dist/Components/lineinputs/CheckableControl.d.ts.map +1 -0
  82. package/dist/Components/lineinputs/LabeledInputControl.d.ts +7 -0
  83. package/dist/Components/lineinputs/LabeledInputControl.d.ts.map +1 -0
  84. package/dist/Components/lineinputs/SelectControl.d.ts +7 -0
  85. package/dist/Components/lineinputs/SelectControl.d.ts.map +1 -0
  86. package/dist/Components/lineinputs/checkbox/Checkbox.d.ts +46 -0
  87. package/dist/Components/lineinputs/checkbox/Checkbox.d.ts.map +1 -0
  88. package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts +11 -0
  89. package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts.map +1 -0
  90. package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts +11 -0
  91. package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts.map +1 -0
  92. package/dist/Components/lineinputs/datetime/Calendar.d.ts +23 -0
  93. package/dist/Components/lineinputs/datetime/Calendar.d.ts.map +1 -0
  94. package/dist/Components/lineinputs/datetime/DatePicker.d.ts +62 -0
  95. package/dist/Components/lineinputs/datetime/DatePicker.d.ts.map +1 -0
  96. package/dist/Components/lineinputs/datetime/DateTimePicker.d.ts +52 -0
  97. package/dist/Components/lineinputs/datetime/DateTimePicker.d.ts.map +1 -0
  98. package/dist/Components/lineinputs/datetime/TimePicker.d.ts +46 -0
  99. package/dist/Components/lineinputs/datetime/TimePicker.d.ts.map +1 -0
  100. package/dist/Components/lineinputs/datetime/civilDate.d.ts +37 -0
  101. package/dist/Components/lineinputs/datetime/civilDate.d.ts.map +1 -0
  102. package/dist/Components/lineinputs/datetime/timeString.d.ts +26 -0
  103. package/dist/Components/lineinputs/datetime/timeString.d.ts.map +1 -0
  104. package/dist/Components/lineinputs/dropdown.d.ts +49 -0
  105. package/dist/Components/lineinputs/dropdown.d.ts.map +1 -0
  106. package/dist/Components/lineinputs/label.d.ts +14 -0
  107. package/dist/Components/lineinputs/label.d.ts.map +1 -0
  108. package/dist/Components/lineinputs/radio.d.ts +69 -0
  109. package/dist/Components/lineinputs/radio.d.ts.map +1 -0
  110. package/dist/Components/lineinputs/textbox.d.ts +40 -0
  111. package/dist/Components/lineinputs/textbox.d.ts.map +1 -0
  112. package/dist/Components/lineinputs/toggle.d.ts +40 -0
  113. package/dist/Components/lineinputs/toggle.d.ts.map +1 -0
  114. package/dist/Components/menu/button.d.ts +31 -0
  115. package/dist/Components/menu/button.d.ts.map +1 -0
  116. package/dist/Components/menu/toolbar.d.ts +15 -0
  117. package/dist/Components/menu/toolbar.d.ts.map +1 -0
  118. package/dist/Components/navigation/breadcrumb.d.ts +31 -0
  119. package/dist/Components/navigation/breadcrumb.d.ts.map +1 -0
  120. package/dist/Components/navigation/navigationBar.d.ts +53 -0
  121. package/dist/Components/navigation/navigationBar.d.ts.map +1 -0
  122. package/dist/Components/status/progressBar.d.ts +23 -0
  123. package/dist/Components/status/progressBar.d.ts.map +1 -0
  124. package/dist/Components/status/statusPresentation.d.ts +21 -0
  125. package/dist/Components/status/statusPresentation.d.ts.map +1 -0
  126. package/dist/Components/theme/stylesheetPicker.d.ts +42 -0
  127. package/dist/Components/theme/stylesheetPicker.d.ts.map +1 -0
  128. package/dist/index.d.ts +68 -0
  129. package/dist/index.d.ts.map +1 -0
  130. package/dist/index.js +7736 -0
  131. package/dist/index.js.map +1 -0
  132. package/dist/jsx-dev-runtime-BAF7C1E1.js +1368 -0
  133. package/dist/jsx-dev-runtime-BAF7C1E1.js.map +1 -0
  134. package/dist/jsx-dev-runtime.d.ts +2 -0
  135. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  136. package/dist/jsx-dev-runtime.js +6 -0
  137. package/dist/jsx-dev-runtime.js.map +1 -0
  138. package/dist/jsx-runtime.d.ts +26 -0
  139. package/dist/jsx-runtime.d.ts.map +1 -0
  140. package/dist/jsx-runtime.js +9 -0
  141. package/dist/jsx-runtime.js.map +1 -0
  142. package/dist/localization.d.ts +76 -0
  143. package/dist/localization.d.ts.map +1 -0
  144. package/dist/routing/RouteLink.d.ts +18 -0
  145. package/dist/routing/RouteLink.d.ts.map +1 -0
  146. package/dist/routing/RouteOutlet.d.ts +38 -0
  147. package/dist/routing/RouteOutlet.d.ts.map +1 -0
  148. package/dist/routing/RouteQuery.d.ts +19 -0
  149. package/dist/routing/RouteQuery.d.ts.map +1 -0
  150. package/dist/routing/RouteScope.d.ts +18 -0
  151. package/dist/routing/RouteScope.d.ts.map +1 -0
  152. package/dist/routing/RouteValue.d.ts +19 -0
  153. package/dist/routing/RouteValue.d.ts.map +1 -0
  154. package/dist/routing/navigationAdapter.d.ts +33 -0
  155. package/dist/routing/navigationAdapter.d.ts.map +1 -0
  156. package/dist/routing/route.d.ts +64 -0
  157. package/dist/routing/route.d.ts.map +1 -0
  158. package/dist/routing/router.d.ts +109 -0
  159. package/dist/routing/router.d.ts.map +1 -0
  160. package/dist/runtime.d.ts +34 -0
  161. package/dist/runtime.d.ts.map +1 -0
  162. package/dist/services.d.ts +45 -0
  163. package/dist/services.d.ts.map +1 -0
  164. package/dist/styling/styleRegistry.d.ts +15 -0
  165. package/dist/styling/styleRegistry.d.ts.map +1 -0
  166. package/dist/styling/theme.d.ts +39 -0
  167. package/dist/styling/theme.d.ts.map +1 -0
  168. package/dist/util/filterMode.d.ts +15 -0
  169. package/dist/util/filterMode.d.ts.map +1 -0
  170. package/docs/application-composition-guide.md +843 -0
  171. package/docs/application-layout-guide.md +553 -0
  172. package/package.json +90 -0
  173. package/styles/structural.css +2388 -0
  174. package/themes/README.md +99 -0
  175. package/themes/base.css +344 -0
  176. package/themes/java/theme.css +21 -0
  177. package/themes/minimal/theme.css +7 -0
  178. package/themes/shiny/theme.css +168 -0
@@ -0,0 +1,19 @@
1
+ import { Component } from '../Components/component.js';
2
+ import type { ComponentProps, CapillaryUiChild, WritableEmitter } from '../Components/component.js';
3
+ import type { ParameterRouteDescriptor, RouteValueResolver } from './route.js';
4
+ export interface RouteValueProps<TValue> extends ComponentProps {
5
+ route: ParameterRouteDescriptor<TValue>;
6
+ valueEmitter: WritableEmitter<TValue | null>;
7
+ resolve?: RouteValueResolver<TValue>;
8
+ /** Make the active dynamic value the parent context for nested routes. */
9
+ scopeChildren?: boolean;
10
+ }
11
+ /** Bind one dynamic child path segment to an application-owned value. */
12
+ export declare class RouteValue<TValue> extends Component<RouteValueProps<TValue>> {
13
+ static liveProps: readonly string[];
14
+ private registration;
15
+ initialize(): void;
16
+ render(): CapillaryUiChild;
17
+ onDestroy(): void;
18
+ }
19
+ //# sourceMappingURL=RouteValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteValue.d.ts","sourceRoot":"","sources":["../../src/routing/RouteValue.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAc,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EACR,cAAc,EACd,gBAAgB,EAChB,eAAe,EAClB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EACR,wBAAwB,EACxB,kBAAkB,EACrB,MAAM,YAAY,CAAA;AAGnB,MAAM,WAAW,eAAe,CAAC,MAAM,CAAE,SAAQ,cAAc;IAC3D,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;IACvC,YAAY,EAAE,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACpC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,yEAAyE;AACzE,qBAAa,UAAU,CAAC,MAAM,CAAE,SAAQ,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACtE,OAAgB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAK;IACjD,OAAO,CAAC,YAAY,CAEJ;IAEhB,UAAU,IAAI,IAAI;IAalB,MAAM,IAAI,gBAAgB;IAajB,SAAS,IAAI,IAAI;CAI7B"}
@@ -0,0 +1,33 @@
1
+ export interface NavigationAdapter {
2
+ read(): string;
3
+ href(location: string): string;
4
+ push(location: string): void;
5
+ replace(location: string): void;
6
+ subscribe(listener: () => void): () => void;
7
+ }
8
+ export interface HistoryNavigationOptions {
9
+ basePath?: string;
10
+ }
11
+ export interface BrowserNavigationTarget extends EventTarget {
12
+ readonly location: Location;
13
+ readonly history: History;
14
+ }
15
+ export declare class MemoryNavigationAdapter implements NavigationAdapter {
16
+ private readonly listeners;
17
+ private entries;
18
+ private index;
19
+ constructor(initialLocation?: string);
20
+ read(): string;
21
+ href(location: string): string;
22
+ push(location: string): void;
23
+ replace(location: string): void;
24
+ subscribe(listener: () => void): () => void;
25
+ back(): void;
26
+ forward(): void;
27
+ get length(): number;
28
+ private notify;
29
+ }
30
+ export declare function createHistoryNavigation(target?: BrowserNavigationTarget, options?: HistoryNavigationOptions): NavigationAdapter;
31
+ export declare function createHashNavigation(target?: BrowserNavigationTarget): NavigationAdapter;
32
+ export declare function normalizeRouteLocation(location: string): string;
33
+ //# sourceMappingURL=navigationAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigationAdapter.d.ts","sourceRoot":"","sources":["../../src/routing/navigationAdapter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,IAAI,MAAM,CAAA;IACd,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IACxD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC5B;AAED,qBAAa,uBAAwB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAI;gBAEL,eAAe,SAAM;IAIjC,IAAI,IAAI,MAAM;IAId,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI9B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM5B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAa3C,IAAI,IAAI,IAAI;IAMZ,OAAO,IAAI,IAAI;IAMf,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,MAAM;CAGjB;AAED,wBAAgB,uBAAuB,CACnC,MAAM,GAAE,uBAA2C,EACnD,OAAO,GAAE,wBAA6B,GACvC,iBAAiB,CA4BnB;AAED,wBAAgB,oBAAoB,CAChC,MAAM,GAAE,uBAA2C,GACpD,iBAAiB,CA+BnB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU/D"}
@@ -0,0 +1,64 @@
1
+ import type { WritableEmitter } from '../Components/component.js';
2
+ export interface RouteCodec<TValue> {
3
+ parse(value: string): TValue;
4
+ format(value: TValue): string;
5
+ }
6
+ export interface RouteQueryCodec<TValue> {
7
+ parse(values: readonly string[]): TValue;
8
+ format(value: TValue): readonly string[];
9
+ }
10
+ export interface LiteralRouteDescriptor {
11
+ readonly id: string;
12
+ readonly kind: 'literal';
13
+ readonly path: string;
14
+ }
15
+ export interface ParameterRouteDescriptor<TValue> {
16
+ readonly id: string;
17
+ readonly kind: 'parameter';
18
+ readonly name: string;
19
+ readonly codec: RouteCodec<TValue>;
20
+ }
21
+ export type RouteDescriptor<TValue = never> = LiteralRouteDescriptor | ParameterRouteDescriptor<TValue>;
22
+ export type AnyRouteDescriptor = RouteDescriptor<unknown>;
23
+ export interface RouteParameterValue<TValue = unknown> {
24
+ readonly route: ParameterRouteDescriptor<TValue>;
25
+ readonly value: TValue;
26
+ }
27
+ export interface RouteTarget {
28
+ readonly routes: readonly (LiteralRouteDescriptor | RouteParameterValue)[];
29
+ readonly query?: Readonly<Record<string, string | readonly string[] | null | undefined>>;
30
+ }
31
+ export interface RouteValueBinding<TValue> {
32
+ readonly valueEmitter: WritableEmitter<TValue | null>;
33
+ readonly resolve?: RouteValueResolver<TValue>;
34
+ }
35
+ export interface RouteResolveContext {
36
+ readonly requestedLocation: string;
37
+ readonly resolvedValues: ReadonlyMap<AnyRouteDescriptor, unknown>;
38
+ }
39
+ export type RouteValueResolver<TValue> = (value: TValue, context: RouteResolveContext, signal: AbortSignal) => TValue | RouteRedirect | Promise<TValue | RouteRedirect>;
40
+ export declare class RouteRedirect {
41
+ readonly target: RouteTarget;
42
+ constructor(target: RouteTarget);
43
+ }
44
+ export declare class RouteUnavailableError extends Error {
45
+ readonly name = "RouteUnavailableError";
46
+ constructor(message?: string);
47
+ }
48
+ export declare const stringRouteCodec: RouteCodec<string>;
49
+ export declare const stringRouteQueryCodec: RouteQueryCodec<string>;
50
+ export declare const booleanRouteQueryCodec: RouteQueryCodec<boolean>;
51
+ export declare function defineRoute(id: string, path?: string): LiteralRouteDescriptor;
52
+ export declare function defineRouteParameter<TValue>(id: string, codec: RouteCodec<TValue>, name?: string): ParameterRouteDescriptor<TValue>;
53
+ export declare function routeParameter<TValue>(route: ParameterRouteDescriptor<TValue>, value: TValue): RouteParameterValue<TValue>;
54
+ export declare function routeTarget(...routes: readonly (LiteralRouteDescriptor | RouteParameterValue)[]): RouteTarget;
55
+ export declare function withRouteQuery(target: RouteTarget, query: Readonly<Record<string, string | readonly string[] | null | undefined>>): RouteTarget;
56
+ export declare function redirectTo(target: RouteTarget): RouteRedirect;
57
+ export declare function isRouteDescriptor(value: unknown): value is AnyRouteDescriptor;
58
+ export declare function assertRouteDescriptor(value: unknown): asserts value is AnyRouteDescriptor;
59
+ export declare function isRouteTarget(value: unknown): value is RouteTarget;
60
+ export declare function assertRouteTarget(value: unknown): asserts value is RouteTarget;
61
+ export declare function assertRouteCodec<TValue>(codec: RouteCodec<TValue>): asserts codec is RouteCodec<TValue>;
62
+ export declare function assertRouteQueryCodec<TValue>(codec: RouteQueryCodec<TValue>): asserts codec is RouteQueryCodec<TValue>;
63
+ export declare function formatRouteTarget(target: RouteTarget): string;
64
+ //# sourceMappingURL=route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/routing/route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import type { ReadableEmitter } from '@capillaryjs/capillary';
2
+ import type { WritableEmitter } from '../Components/component.js';
3
+ import type { NavigationAdapter } from './navigationAdapter.js';
4
+ import type { AnyRouteDescriptor, LiteralRouteDescriptor, ParameterRouteDescriptor, RouteDescriptor, RouteQueryCodec, RouteTarget, RouteValueResolver } from './route.js';
5
+ export type NavigationHistoryMode = 'push' | 'replace';
6
+ export interface BrowserRouterOptions {
7
+ adapter: NavigationAdapter;
8
+ }
9
+ export interface NavigationTransition {
10
+ readonly state: 'pending' | 'idle';
11
+ readonly requestedLocation: string;
12
+ readonly settledLocation: string;
13
+ }
14
+ export interface NavigationIssue {
15
+ readonly requestedLocation: string;
16
+ readonly failedRouteId: string | null;
17
+ readonly reason: string;
18
+ readonly fallbackLocation: string;
19
+ }
20
+ export interface ResolvedRoute {
21
+ readonly route: AnyRouteDescriptor | null;
22
+ readonly parent: ResolvedRoute | null;
23
+ readonly segment: string | null;
24
+ readonly value: unknown;
25
+ readonly pathname: string;
26
+ }
27
+ export interface SelectionRouteBinding {
28
+ readonly route: LiteralRouteDescriptor;
29
+ readonly active: () => boolean;
30
+ readonly activate: (signal: AbortSignal) => void | Promise<void>;
31
+ readonly disabled?: boolean;
32
+ }
33
+ export interface ValueRouteBinding<TValue> {
34
+ readonly route: ParameterRouteDescriptor<TValue>;
35
+ readonly valueEmitter: WritableEmitter<TValue | null>;
36
+ readonly resolve?: RouteValueResolver<TValue>;
37
+ }
38
+ export interface RouteQueryBinding<TValue> {
39
+ readonly name: string;
40
+ readonly valueEmitter: WritableEmitter<TValue>;
41
+ readonly codec: RouteQueryCodec<TValue>;
42
+ readonly defaultValue: TValue;
43
+ readonly equals?: (left: TValue, right: TValue) => boolean;
44
+ }
45
+ export interface RouteRegistration {
46
+ readonly context: ResolvedRoute;
47
+ dispose(): void;
48
+ }
49
+ export declare class BrowserRouter {
50
+ readonly adapter: NavigationAdapter;
51
+ readonly root: ResolvedRoute;
52
+ readonly transition: ReadableEmitter<NavigationTransition>;
53
+ readonly issue: ReadableEmitter<NavigationIssue | null>;
54
+ private readonly transitionEmitter;
55
+ private readonly issueEmitter;
56
+ private readonly scopes;
57
+ private readonly contextCache;
58
+ private readonly knownQueryNames;
59
+ private readonly registryWaiters;
60
+ private readonly adapterUnsubscribe;
61
+ private controller;
62
+ private activeContext;
63
+ private requested;
64
+ private applying;
65
+ private syncQueued;
66
+ private disposed;
67
+ constructor(adapter: NavigationAdapter);
68
+ openScope(context: ResolvedRoute, owner: object): () => void;
69
+ completeScope(context: ResolvedRoute, owner: object): void;
70
+ registerSelectionRoutes(parent: ResolvedRoute, owner: object, bindings: readonly SelectionRouteBinding[], subscribe: (listener: () => void) => () => void): ReadonlyMap<LiteralRouteDescriptor, ResolvedRoute>;
71
+ unregisterRoutes(parent: ResolvedRoute, owner: object): void;
72
+ registerValueRoute<TValue>(parent: ResolvedRoute, owner: object, binding: ValueRouteBinding<TValue>): RouteRegistration & {
73
+ contextFor(value: TValue): ResolvedRoute;
74
+ };
75
+ registerQuery<TValue>(context: ResolvedRoute, owner: object, binding: RouteQueryBinding<TValue>): () => void;
76
+ navigate(target: RouteTarget | ResolvedRoute, options?: {
77
+ history?: NavigationHistoryMode;
78
+ }): Promise<void>;
79
+ redirect(target: RouteTarget | ResolvedRoute): Promise<void>;
80
+ href(target: RouteTarget | ResolvedRoute): string;
81
+ resolve(route: RouteDescriptor, from: ResolvedRoute): ResolvedRoute;
82
+ formatActiveLocation(): string;
83
+ isActive(target: RouteTarget | ResolvedRoute, exact?: boolean): boolean;
84
+ dispose(): void;
85
+ private startTransition;
86
+ private runTransition;
87
+ private waitForCompleteScope;
88
+ private waitForRegistryChange;
89
+ private wakeRegistry;
90
+ private fallback;
91
+ private literalContext;
92
+ private resolveTargetContext;
93
+ private parameterContext;
94
+ private cachedContext;
95
+ private scope;
96
+ private removeOwnerEntries;
97
+ private removeOwnerQueries;
98
+ private scheduleStateSync;
99
+ private formatStateLocation;
100
+ private findActiveContext;
101
+ private formatContext;
102
+ private applyQueriesInLineage;
103
+ private applyQueryEntry;
104
+ private withApplication;
105
+ private assertActive;
106
+ }
107
+ export declare function createBrowserRouter(options: BrowserRouterOptions): BrowserRouter;
108
+ export declare function waitForRouteValue<TValue, TError>(emitter: ReadableEmitter<TValue, TError>, accept: (value: TValue) => boolean, signal: AbortSignal): Promise<TValue>;
109
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/routing/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { Component, ComponentDependency } from './Components/component.js';
2
+ import type { StyleRegistry } from './styling/styleRegistry.js';
3
+ import { ServiceScope } from './services.js';
4
+ import type { BrowserRouter } from './routing/router.js';
5
+ import type { CapillaryUiLocalization, CapillaryUiLocalizationOptions } from './localization.js';
6
+ export interface CapillaryUiRuntimeOptions {
7
+ /** Service scope inherited by every component created or mounted here. */
8
+ services?: ServiceScope;
9
+ /** Optional caller-owned browser router inherited by routed components. */
10
+ router?: BrowserRouter;
11
+ /** Static Capillary UI message overrides and formatting locale for this runtime. */
12
+ localization?: CapillaryUiLocalizationOptions;
13
+ }
14
+ /** Application scope for structural styles, browser integrations, and localization. */
15
+ export declare class CapillaryUiRuntime {
16
+ readonly styleRegistry: StyleRegistry;
17
+ readonly services: ServiceScope;
18
+ readonly router: BrowserRouter | null;
19
+ readonly localization: CapillaryUiLocalization;
20
+ private readonly routedRoots;
21
+ constructor(options?: CapillaryUiRuntimeOptions, registry?: StyleRegistry);
22
+ /** Resolve a fixed one-hyphen public host name for a built-in component. */
23
+ resolveElementName(hostName: string): string;
24
+ resolveHostSelector(selector: string, hostName: string): string;
25
+ resolveHostCSS(cssText: string, hostName: string): string;
26
+ create<TArgs extends unknown[], TComponent extends Component>(componentType: new (...args: TArgs) => TComponent, ...args: TArgs): TComponent;
27
+ mount<TComponent extends Component>(component: TComponent, parent: ParentNode, before?: Node | null): TComponent;
28
+ registerStyles(dependency: ComponentDependency): this;
29
+ injectStyles(targetDocument?: Document): HTMLStyleElement;
30
+ }
31
+ export declare function createCapillaryUiRuntime(options?: CapillaryUiRuntimeOptions): CapillaryUiRuntime;
32
+ /** Runtime used by Component.new(), direct mount(), and the legacy styleRegistry export. */
33
+ export declare const defaultCapillaryUiRuntime: CapillaryUiRuntime;
34
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EACT,mBAAmB,EACtB,MAAM,2BAA2B,CAAA;AAKlC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAC,YAAY,EAAqB,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAA;AAEtD,OAAO,KAAK,EAAC,uBAAuB,EAAE,8BAA8B,EAAC,MAAM,mBAAmB,CAAA;AAa9F,MAAM,WAAW,yBAAyB;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,oFAAoF;IACpF,YAAY,CAAC,EAAE,8BAA8B,CAAA;CAChD;AAED,uFAAuF;AACvF,qBAAa,kBAAkB;IAC3B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAA;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAGnD,OAAO,GAAE,yBAA8B,EACvC,QAAQ,GAAE,aAAqC;IAuBnD,4EAA4E;IAC5E,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAO5C,mBAAmB,CACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,MAAM;IAKT,cAAc,CACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,MAAM;IAKT,MAAM,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,UAAU,SAAS,SAAS,EACxD,aAAa,EAAE,KAAI,GAAG,IAAI,EAAE,KAAK,KAAK,UAAU,EAChD,GAAG,IAAI,EAAE,KAAK,GACf,UAAU;IAMb,KAAK,CAAC,UAAU,SAAS,SAAS,EAC9B,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,UAAU,EAClB,MAAM,GAAE,IAAI,GAAG,IAAW,GAC3B,UAAU;IAoBb,cAAc,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAQrD,YAAY,CAAC,cAAc,GAAE,QAA8B,GAAG,gBAAgB;CAGjF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,yBAA8B,GAAG,kBAAkB,CAEpG;AAED,4FAA4F;AAC5F,eAAO,MAAM,yBAAyB,oBAA4C,CAAA"}
@@ -0,0 +1,45 @@
1
+ declare const serviceType: unique symbol;
2
+ declare const serviceProviderType: unique symbol;
3
+ /** Typed identity for one application service contract. */
4
+ export interface ServiceKey<TService> {
5
+ readonly name: string;
6
+ readonly [serviceType]: TService;
7
+ }
8
+ /** Read-only service access exposed to service factories. */
9
+ export interface ServiceResolver {
10
+ has(key: ServiceKey<unknown>): boolean;
11
+ require<TService>(key: ServiceKey<TService>): TService;
12
+ }
13
+ export type ServiceFactory<TService> = (services: ServiceResolver) => TService;
14
+ /** Immutable registration for a lazily created, scope-shared service. */
15
+ export interface ServiceProvider<TService> {
16
+ readonly key: ServiceKey<TService>;
17
+ readonly create: ServiceFactory<TService>;
18
+ readonly [serviceProviderType]: true;
19
+ }
20
+ /** Declare a typed service identity without selecting an implementation. */
21
+ export declare function defineService<TService>(name: string): ServiceKey<TService>;
22
+ /** Select the factory for a service in one application composition root. */
23
+ export declare function provideService<TService>(key: ServiceKey<TService>, create: ServiceFactory<TService>): ServiceProvider<TService>;
24
+ /**
25
+ * Explicit application service scope.
26
+ *
27
+ * Providers are fixed at construction. Each service is created lazily at most
28
+ * once, shared inside this scope, and disposed in reverse creation order.
29
+ */
30
+ export declare class ServiceScope implements ServiceResolver {
31
+ private readonly providers;
32
+ private readonly instances;
33
+ private readonly creationOrder;
34
+ private readonly resolving;
35
+ private disposed;
36
+ constructor(providers?: readonly ServiceProvider<unknown>[]);
37
+ get isDisposed(): boolean;
38
+ has(key: ServiceKey<unknown>): boolean;
39
+ require<TService>(key: ServiceKey<TService>): TService;
40
+ dispose(): void;
41
+ private assertActive;
42
+ }
43
+ export declare function createServiceScope(providers?: readonly ServiceProvider<unknown>[]): ServiceScope;
44
+ export {};
45
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAA;AACxC,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAA;AAEhD,2DAA2D;AAC3D,MAAM,WAAW,UAAU,CAAC,QAAQ;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAA;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC5B,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IACtC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;CACzD;AAED,MAAM,MAAM,cAAc,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ,CAAA;AAE9E,yEAAyE;AACzE,MAAM,WAAW,eAAe,CAAC,QAAQ;IACrC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAA;CACvC;AAKD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAO1E;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,QAAQ,EACnC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EACzB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC,CAQ3B;AAED;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,eAAe;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2D;IACrF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,SAAS,GAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAO;IAa/D,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO;IAMtC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ;IA2BtD,OAAO,IAAI,IAAI;IAsBf,OAAO,CAAC,YAAY;CAGvB;AAED,wBAAgB,kBAAkB,CAC9B,SAAS,GAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAO,GACpD,YAAY,CAEd"}
@@ -0,0 +1,15 @@
1
+ /** Application-scoped structural-style collection and injection. */
2
+ export declare class StyleRegistry {
3
+ readonly id: string;
4
+ private readonly cssFragments;
5
+ constructor(id?: string);
6
+ registerCSS(css: string): this;
7
+ generateCSS(): string;
8
+ injectAll(targetDocument?: Document): HTMLStyleElement;
9
+ reset(): void;
10
+ }
11
+ /** Create an isolated registry for a configured Capillary UI application runtime. */
12
+ export declare function createStyleRegistry(): StyleRegistry;
13
+ /** Backward-compatible structural styles for the default Capillary UI runtime. */
14
+ export declare const styleRegistry: StyleRegistry;
15
+ //# sourceMappingURL=styleRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleRegistry.d.ts","sourceRoot":"","sources":["../../src/styling/styleRegistry.ts"],"names":[],"mappings":"AAgBA,oEAAoE;AACpE,qBAAa,aAAa;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;gBAElD,EAAE,GAAE,MAAsC;IAKtD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAiC9B,WAAW,IAAI,MAAM;IAQrB,SAAS,CAAC,cAAc,GAAE,QAA8B,GAAG,gBAAgB;IAgB3E,KAAK,IAAI,IAAI;CAGhB;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,eAAwB,CAAA"}
@@ -0,0 +1,39 @@
1
+ export type CapillaryUiStylesheetKind = 'theme' | 'colors';
2
+ export type CapillaryUiAppearance = 'light' | 'dark' | 'system';
3
+ export type CapillaryUiThemeAppearanceCapability = 'light' | 'dark' | 'adaptive';
4
+ export interface CapillaryUiStylesheetOption {
5
+ value: string;
6
+ label: string;
7
+ href: string;
8
+ }
9
+ export interface CapillaryUiThemeOption extends CapillaryUiStylesheetOption {
10
+ /** Appearance modes the selected theme deliberately supports. */
11
+ appearance: CapillaryUiThemeAppearanceCapability;
12
+ }
13
+ export type CapillaryUiThemeVariableLayer = 'palette' | 'theme';
14
+ export type CapillaryUiThemeVariableValue = 'background' | 'border' | 'color' | 'dimension' | 'duration' | 'font' | 'opacity' | 'radius' | 'shadow';
15
+ export interface CapillaryUiThemeVariableDefinition {
16
+ name: `--${string}`;
17
+ layer: CapillaryUiThemeVariableLayer;
18
+ family: string;
19
+ value: CapillaryUiThemeVariableValue;
20
+ description: string;
21
+ fallback?: `--${string}`;
22
+ }
23
+ /**
24
+ * Public, machine-readable theming contract. Component-specific variables fall
25
+ * back through a family rather than forcing every theme to target every host.
26
+ */
27
+ export declare const capillaryUiThemeVariableCatalog: readonly CapillaryUiThemeVariableDefinition[];
28
+ export declare const capillaryUiThemeOptions: readonly CapillaryUiThemeOption[];
29
+ export declare const capillaryUiColorOptions: readonly CapillaryUiStylesheetOption[];
30
+ /** Replace one of the two independently loaded Capillary UI presentation stylesheets. */
31
+ export declare function replaceCapillaryUiStylesheet(kind: CapillaryUiStylesheetKind, selection: CapillaryUiStylesheetOption, targetDocument?: Document): HTMLLinkElement;
32
+ /**
33
+ * Select how an adaptive Capillary UI theme resolves its light and dark mappings.
34
+ * `system` removes the root attribute so the browser preference applies.
35
+ */
36
+ export declare function setCapillaryUiAppearance(appearance: CapillaryUiAppearance, targetDocument?: Document): void;
37
+ export declare function getCapillaryUiAppearance(targetDocument?: Document): CapillaryUiAppearance;
38
+ export declare function findCapillaryUiStylesheetOption(options: readonly CapillaryUiStylesheetOption[], value: string): CapillaryUiStylesheetOption;
39
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/styling/theme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,QAAQ,CAAA;AAC1D,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAC/D,MAAM,MAAM,oCAAoC,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAA;AAEhF,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAuB,SAAQ,2BAA2B;IACvE,iEAAiE;IACjE,UAAU,EAAE,oCAAoC,CAAA;CACnD;AAED,MAAM,MAAM,6BAA6B,GAAG,SAAS,GAAG,OAAO,CAAA;AAC/D,MAAM,MAAM,6BAA6B,GACnC,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,WAAW,GACX,UAAU,GACV,MAAM,GACN,SAAS,GACT,QAAQ,GACR,QAAQ,CAAA;AAEd,MAAM,WAAW,kCAAkC;IAC/C,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,6BAA6B,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,6BAA6B,CAAA;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CA8Jc,CAAA;AAE1D,eAAO,MAAM,uBAAuB,mCAIlC,CAAA;AAEF,eAAO,MAAM,uBAAuB,wCASlC,CAAA;AAEF,yFAAyF;AACzF,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,yBAAyB,EAC/B,SAAS,EAAE,2BAA2B,EACtC,cAAc,GAAE,QAA8B,GAC/C,eAAe,CAoBjB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,qBAAqB,EACjC,cAAc,GAAE,QAA8B,GAC/C,IAAI,CASN;AAED,wBAAgB,wBAAwB,CACpC,cAAc,GAAE,QAA8B,GAC/C,qBAAqB,CAMvB;AAED,wBAAgB,+BAA+B,CAC3C,OAAO,EAAE,SAAS,2BAA2B,EAAE,EAC/C,KAAK,EAAE,MAAM,GACd,2BAA2B,CAI7B"}
@@ -0,0 +1,15 @@
1
+ /** Represents the filter mode for a query. */
2
+ export declare const FilterMode: {
3
+ /** Deny mode: Excludes items that match the filter. */
4
+ readonly Deny: "deny";
5
+ /** Require mode: Includes only items that match the filter. */
6
+ readonly Require: "require";
7
+ /** Prefer mode: If there are any filter options that are set to Prefer, at least one of the preferred filter options must match. Otherwise, it is treated as Neutral. */
8
+ readonly Prefer: "prefer";
9
+ /** Neutral mode: Does not affect the inclusion or exclusion of items. */
10
+ readonly Neutral: "neutral";
11
+ };
12
+ export type FilterModeValue = typeof FilterMode[keyof typeof FilterMode];
13
+ /** Return whether a value is one of Capillary UI's semantic filter modes. */
14
+ export declare function isFilterMode(value: unknown): value is FilterModeValue;
15
+ //# sourceMappingURL=filterMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterMode.d.ts","sourceRoot":"","sources":["../../src/util/filterMode.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,eAAO,MAAM,UAAU;IACnB,uDAAuD;;IAEvD,+DAA+D;;IAE/D,yKAAyK;;IAEzK,yEAAyE;;CAEnE,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAExE,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAErE"}