querysub 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/.dependency-cruiser.js +304 -0
  2. package/.eslintrc.js +51 -0
  3. package/.github/copilot-instructions.md +1 -0
  4. package/.vscode/settings.json +25 -0
  5. package/bin/deploy.js +4 -0
  6. package/bin/function.js +4 -0
  7. package/bin/server.js +4 -0
  8. package/costsBenefits.txt +112 -0
  9. package/deploy.ts +3 -0
  10. package/inject.ts +1 -0
  11. package/package.json +60 -0
  12. package/prompts.txt +54 -0
  13. package/spec.txt +820 -0
  14. package/src/-a-archives/archiveCache.ts +913 -0
  15. package/src/-a-archives/archives.ts +148 -0
  16. package/src/-a-archives/archivesBackBlaze.ts +792 -0
  17. package/src/-a-archives/archivesDisk.ts +418 -0
  18. package/src/-a-archives/copyLocalToBackblaze.ts +24 -0
  19. package/src/-a-auth/certs.ts +517 -0
  20. package/src/-a-auth/der.ts +122 -0
  21. package/src/-a-auth/ed25519.ts +1015 -0
  22. package/src/-a-auth/node-forge-ed25519.d.ts +17 -0
  23. package/src/-b-authorities/dnsAuthority.ts +203 -0
  24. package/src/-b-authorities/emailAuthority.ts +57 -0
  25. package/src/-c-identity/IdentityController.ts +200 -0
  26. package/src/-d-trust/NetworkTrust2.ts +150 -0
  27. package/src/-e-certs/EdgeCertController.ts +288 -0
  28. package/src/-e-certs/certAuthority.ts +192 -0
  29. package/src/-f-node-discovery/NodeDiscovery.ts +543 -0
  30. package/src/-g-core-values/NodeCapabilities.ts +134 -0
  31. package/src/-g-core-values/oneTimeForward.ts +91 -0
  32. package/src/-h-path-value-serialize/PathValueSerializer.ts +769 -0
  33. package/src/-h-path-value-serialize/stringSerializer.ts +176 -0
  34. package/src/0-path-value-core/LoggingClient.tsx +24 -0
  35. package/src/0-path-value-core/NodePathAuthorities.ts +978 -0
  36. package/src/0-path-value-core/PathController.ts +1 -0
  37. package/src/0-path-value-core/PathValueCommitter.ts +565 -0
  38. package/src/0-path-value-core/PathValueController.ts +231 -0
  39. package/src/0-path-value-core/archiveLocks/ArchiveLocks.ts +154 -0
  40. package/src/0-path-value-core/archiveLocks/ArchiveLocks2.ts +820 -0
  41. package/src/0-path-value-core/archiveLocks/archiveSnapshots.ts +180 -0
  42. package/src/0-path-value-core/debugLogs.ts +90 -0
  43. package/src/0-path-value-core/pathValueArchives.ts +483 -0
  44. package/src/0-path-value-core/pathValueCore.ts +2217 -0
  45. package/src/1-path-client/RemoteWatcher.ts +558 -0
  46. package/src/1-path-client/pathValueClientWatcher.ts +702 -0
  47. package/src/2-proxy/PathValueProxyWatcher.ts +1857 -0
  48. package/src/2-proxy/archiveMoveHarness.ts +376 -0
  49. package/src/2-proxy/garbageCollection.ts +753 -0
  50. package/src/2-proxy/pathDatabaseProxyBase.ts +37 -0
  51. package/src/2-proxy/pathValueProxy.ts +139 -0
  52. package/src/2-proxy/schema2.ts +518 -0
  53. package/src/3-path-functions/PathFunctionHelpers.ts +129 -0
  54. package/src/3-path-functions/PathFunctionRunner.ts +619 -0
  55. package/src/3-path-functions/PathFunctionRunnerMain.ts +67 -0
  56. package/src/3-path-functions/deployBlock.ts +10 -0
  57. package/src/3-path-functions/deployCheck.ts +7 -0
  58. package/src/3-path-functions/deployMain.ts +160 -0
  59. package/src/3-path-functions/pathFunctionLoader.ts +282 -0
  60. package/src/3-path-functions/syncSchema.ts +475 -0
  61. package/src/3-path-functions/tests/functionsTest.ts +135 -0
  62. package/src/3-path-functions/tests/rejectTest.ts +77 -0
  63. package/src/4-dom/css.tsx +29 -0
  64. package/src/4-dom/cssTypes.d.ts +212 -0
  65. package/src/4-dom/qreact.tsx +2322 -0
  66. package/src/4-dom/qreactTest.tsx +417 -0
  67. package/src/4-querysub/Querysub.ts +877 -0
  68. package/src/4-querysub/QuerysubController.ts +620 -0
  69. package/src/4-querysub/copyEvent.ts +0 -0
  70. package/src/4-querysub/permissions.ts +289 -0
  71. package/src/4-querysub/permissionsShared.ts +1 -0
  72. package/src/4-querysub/querysubPrediction.ts +525 -0
  73. package/src/5-diagnostics/FullscreenModal.tsx +67 -0
  74. package/src/5-diagnostics/GenericFormat.tsx +165 -0
  75. package/src/5-diagnostics/Modal.tsx +79 -0
  76. package/src/5-diagnostics/Table.tsx +183 -0
  77. package/src/5-diagnostics/TimeGrouper.tsx +114 -0
  78. package/src/5-diagnostics/diskValueAudit.ts +216 -0
  79. package/src/5-diagnostics/memoryValueAudit.ts +442 -0
  80. package/src/5-diagnostics/nodeMetadata.ts +135 -0
  81. package/src/5-diagnostics/qreactDebug.tsx +309 -0
  82. package/src/5-diagnostics/shared.ts +26 -0
  83. package/src/5-diagnostics/synchronousLagTracking.ts +47 -0
  84. package/src/TestController.ts +35 -0
  85. package/src/allowclient.flag +0 -0
  86. package/src/bits.ts +86 -0
  87. package/src/buffers.ts +69 -0
  88. package/src/config.ts +53 -0
  89. package/src/config2.ts +48 -0
  90. package/src/diagnostics/ActionsHistory.ts +56 -0
  91. package/src/diagnostics/NodeViewer.tsx +503 -0
  92. package/src/diagnostics/SizeLimiter.ts +62 -0
  93. package/src/diagnostics/TimeDebug.tsx +18 -0
  94. package/src/diagnostics/benchmark.ts +139 -0
  95. package/src/diagnostics/errorLogs/ErrorLogController.ts +515 -0
  96. package/src/diagnostics/errorLogs/ErrorLogCore.ts +274 -0
  97. package/src/diagnostics/errorLogs/LogClassifiers.tsx +302 -0
  98. package/src/diagnostics/errorLogs/LogFilterUI.tsx +84 -0
  99. package/src/diagnostics/errorLogs/LogNotify.tsx +101 -0
  100. package/src/diagnostics/errorLogs/LogTimeSelector.tsx +724 -0
  101. package/src/diagnostics/errorLogs/LogViewer.tsx +757 -0
  102. package/src/diagnostics/errorLogs/hookErrors.ts +60 -0
  103. package/src/diagnostics/errorLogs/logFiltering.tsx +149 -0
  104. package/src/diagnostics/heapTag.ts +13 -0
  105. package/src/diagnostics/listenOnDebugger.ts +77 -0
  106. package/src/diagnostics/logs/DiskLoggerPage.tsx +572 -0
  107. package/src/diagnostics/logs/ObjectDisplay.tsx +165 -0
  108. package/src/diagnostics/logs/ansiFormat.ts +108 -0
  109. package/src/diagnostics/logs/diskLogGlobalContext.ts +38 -0
  110. package/src/diagnostics/logs/diskLogger.ts +305 -0
  111. package/src/diagnostics/logs/diskShimConsoleLogs.ts +32 -0
  112. package/src/diagnostics/logs/injectFileLocationToConsole.ts +50 -0
  113. package/src/diagnostics/logs/logGitHashes.ts +30 -0
  114. package/src/diagnostics/managementPages.tsx +289 -0
  115. package/src/diagnostics/periodic.ts +89 -0
  116. package/src/diagnostics/runSaturationTest.ts +416 -0
  117. package/src/diagnostics/satSchema.ts +64 -0
  118. package/src/diagnostics/trackResources.ts +82 -0
  119. package/src/diagnostics/watchdog.ts +55 -0
  120. package/src/errors.ts +132 -0
  121. package/src/forceProduction.ts +3 -0
  122. package/src/fs.ts +72 -0
  123. package/src/heapDumps.ts +666 -0
  124. package/src/https.ts +2 -0
  125. package/src/inject.ts +1 -0
  126. package/src/library-components/ATag.tsx +84 -0
  127. package/src/library-components/Button.tsx +344 -0
  128. package/src/library-components/ButtonSelector.tsx +64 -0
  129. package/src/library-components/DropdownCustom.tsx +151 -0
  130. package/src/library-components/DropdownSelector.tsx +32 -0
  131. package/src/library-components/Input.tsx +334 -0
  132. package/src/library-components/InputLabel.tsx +198 -0
  133. package/src/library-components/InputPicker.tsx +125 -0
  134. package/src/library-components/LazyComponent.tsx +62 -0
  135. package/src/library-components/MeasureHeightCSS.tsx +48 -0
  136. package/src/library-components/MeasuredDiv.tsx +47 -0
  137. package/src/library-components/ShowMore.tsx +51 -0
  138. package/src/library-components/SyncedController.ts +171 -0
  139. package/src/library-components/TimeRangeSelector.tsx +407 -0
  140. package/src/library-components/URLParam.ts +263 -0
  141. package/src/library-components/colors.tsx +14 -0
  142. package/src/library-components/drag.ts +114 -0
  143. package/src/library-components/icons.tsx +692 -0
  144. package/src/library-components/niceStringify.ts +50 -0
  145. package/src/library-components/renderToString.ts +52 -0
  146. package/src/misc/PromiseRace.ts +101 -0
  147. package/src/misc/color.ts +30 -0
  148. package/src/misc/getParentProcessId.cs +53 -0
  149. package/src/misc/getParentProcessId.ts +53 -0
  150. package/src/misc/hash.ts +83 -0
  151. package/src/misc/ipPong.js +13 -0
  152. package/src/misc/networking.ts +2 -0
  153. package/src/misc/random.ts +45 -0
  154. package/src/misc.ts +19 -0
  155. package/src/noserverhotreload.flag +0 -0
  156. package/src/path.ts +226 -0
  157. package/src/persistentLocalStore.ts +37 -0
  158. package/src/promise.ts +15 -0
  159. package/src/server.ts +73 -0
  160. package/src/src.d.ts +1 -0
  161. package/src/test/heapProcess.ts +36 -0
  162. package/src/test/mongoSatTest.tsx +55 -0
  163. package/src/test/satTest.ts +193 -0
  164. package/src/test/test.tsx +552 -0
  165. package/src/zip.ts +92 -0
  166. package/src/zipThreaded.ts +106 -0
  167. package/src/zipThreadedWorker.js +19 -0
  168. package/tsconfig.json +27 -0
  169. package/yarnSpec.txt +56 -0
@@ -0,0 +1,29 @@
1
+ import { isNode } from "socket-function/src/misc";
2
+ import type { LengthOrPercentage, StrictStyles } from "./cssTypes";
3
+ import { css } from "typesafecss";
4
+ export { css };
5
+
6
+ export function setCSS(module: NodeJS.Module, text: string) {
7
+ if (isNode()) return;
8
+ let id = "css-" + module.id;
9
+ let style = document.getElementById(id);
10
+ if (!style) {
11
+ style = document.createElement("style");
12
+ document.head.appendChild(style);
13
+ style.id = "css-" + module.id;
14
+ }
15
+ style.innerHTML = text;
16
+ }
17
+
18
+ export function className(strings: TemplateStringsArray, ...variables: unknown[]) {
19
+ let result = "";
20
+ for (let i = 0; i < strings.length; i++) {
21
+ result += strings[i];
22
+ let varValue = variables[i];
23
+ if (varValue || varValue === 0) {
24
+ result += String(varValue);
25
+ }
26
+ }
27
+ // Remove extra whitespace and newlines, for readability
28
+ return result.replace(/\n/g, " ").replace(/ +/g, " ");
29
+ }
@@ -0,0 +1,212 @@
1
+
2
+ export type Length = number | `${number}px` | `${number}%` | `${number}em` | `${number}rem` | `${number}vh` | `${number}vw` | `${number}vmin` | `${number}vmax` | `${number}ex` | `${number}ch` | `${number}cm` | `${number}mm` | `${number}in` | `${number}pt` | `${number}pc`;
3
+ export type LengthOrPercentage = Length | `${number}%`;
4
+ export type LengthOrPercentageOrAuto = Length | `${number}%` | "auto";
5
+ export type Rotate = `${number}deg` | `${number}grad` | `${number}rad` | `${number}turn`;
6
+ export type StrictStyles = {
7
+ display?: "block" | "inline" | "inline-block" | "flex" | "inline-flex" | "grid" | "inline-grid" | "none" | "contents" | "flow-root" | "table" | "table-row-group" | "table-header-group" | "table-footer-group" | "table-row" | "table-cell" | "table-column-group" | "table-column" | "table-caption";
8
+ flexDirection?: "row" | "row-reverse" | "column" | "column-reverse";
9
+ justifyContent?: "start" | "end" | "left" | "right" | "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
10
+ alignItems?: "start" | "end" | "self-start" | "self-end" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
11
+ alignContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "stretch";
12
+ flexWrap?: "nowrap" | "wrap" | "wrap-reverse";
13
+ flexGrow?: number;
14
+ flexShrink?: number;
15
+ flexBasis?: string | number; // Generally a length value (e.g., "0%", "50px", "auto")
16
+ order?: number;
17
+ alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch" | "start" | "end";
18
+ position?: "static" | "relative" | "fixed" | "absolute" | "sticky";
19
+ top?: LengthOrPercentage; // Length values or percentages
20
+ right?: LengthOrPercentage; // Length values or percentages
21
+ bottom?: LengthOrPercentage; // Length values or percentages
22
+ left?: LengthOrPercentage; // Length values or percentages
23
+ width?: LengthOrPercentageOrAuto; // Length values, percentages, or "auto"
24
+ height?: LengthOrPercentageOrAuto; // Length values, percentages, or "auto"
25
+ minWidth?: LengthOrPercentage; // Length values or percentages
26
+ minHeight?: LengthOrPercentage; // Length values or percentages
27
+ maxWidth?: LengthOrPercentage; // Length values or percentages
28
+ maxHeight?: LengthOrPercentage; // Length values or percentages
29
+ margin?: LengthOrPercentageOrAuto; // Length values, percentages, or "auto"
30
+ padding?: LengthOrPercentage; // Length values or percentages
31
+ paddingTop?: LengthOrPercentage; // Length values or percentages
32
+ paddingRight?: LengthOrPercentage; // Length values or percentages
33
+ paddingBottom?: LengthOrPercentage; // Length values or percentages
34
+ paddingLeft?: LengthOrPercentage; // Length values or percentages
35
+ marginTop?: LengthOrPercentage; // Length values or percentages
36
+ marginRight?: LengthOrPercentage; // Length values or percentages
37
+ marginBottom?: LengthOrPercentage; // Length values or percentages
38
+ marginLeft?: LengthOrPercentage; // Length values or percentages
39
+ backgroundColor?: string; // Color values
40
+ color?: string; // Color values
41
+ fontSize?: string | number; // Length values, percentages, or keyword sizes (e.g., "small", "medium", "large")
42
+ fontFamily?: string;
43
+ fontWeight?: "normal" | "bold" | "bolder" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
44
+ textAlign?: "left" | "right" | "center" | "justify" | "justify-all" | "start" | "end";
45
+ textTransform?: "none" | "capitalize" | "uppercase" | "lowercase" | "full-width" | "full-size-kana";
46
+ textDecoration?: "none" | "underline" | "overline" | "line-through";
47
+ border?: string; // A shorthand property for border-width, border-style, and border-color
48
+ borderRadius?: LengthOrPercentage; // Length values or percentages
49
+ opacity?: number; // A number between 0 (fully transparent) and 1 (fully opaque)
50
+ zIndex?: number;
51
+ rotate?: Rotate;
52
+
53
+ overflow?: "visible" | "hidden" | "scroll" | "auto" | "clip";
54
+ overflowX?: "visible" | "hidden" | "scroll" | "auto" | "clip";
55
+ overflowY?: "visible" | "hidden" | "scroll" | "auto" | "clip";
56
+ cursor?: "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "all-scroll" | "col-resize" | "row-resize" | "n-resize" | "e-resize" | "s-resize" | "w-resize" | "ne-resize" | "nw-resize" | "se-resize" | "sw-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "zoom-in" | "zoom-out";
57
+ boxSizing?: "content-box" | "border-box";
58
+ boxShadow?: string; // e.g., "10px 5px 5px black"
59
+ transition?: string; // e.g., "all 0.3s ease-out"
60
+ transform?: string; // e.g., "rotate(90deg)"
61
+ background?: string; // Color values, gradients, images
62
+ backgroundImage?: string; // URL or gradient
63
+ backgroundPosition?: string; // e.g., "top left", "center center"
64
+ backgroundSize?: string; // e.g., "cover", "contain", "50%"
65
+ backgroundRepeat?: "repeat" | "repeat-x" | "repeat-y" | "no-repeat";
66
+ backgroundAttachment?: "scroll" | "fixed" | "local";
67
+ borderBottom?: string; // Border shorthand property
68
+ borderLeft?: string; // Border shorthand property
69
+ borderRight?: string; // Border shorthand property
70
+ borderTop?: string; // Border shorthand property
71
+ borderBottomColor?: string; // Color values
72
+ borderLeftColor?: string; // Color values
73
+ borderRightColor?: string; // Color values
74
+ borderTopColor?: string; // Color values
75
+ borderBottomStyle?: "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
76
+ borderLeftStyle?: "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
77
+ borderRightStyle?: "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
78
+ borderTopStyle?: "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
79
+ borderBottomWidth?: string | number; // Length values
80
+ borderLeftWidth?: string | number; // Length values
81
+ borderRightWidth?: string | number; // Length values
82
+ borderTopWidth?: string | number; // Length values
83
+ borderRadiusTopLeft?: LengthOrPercentage; // Length values or percentages
84
+ borderRadiusTopRight?: LengthOrPercentage; // Length values or percentages
85
+ borderRadiusBottomLeft?: LengthOrPercentage; // Length values or percentages
86
+ borderRadiusBottomRight?: LengthOrPercentage; // Length values or percentages
87
+ visibility?: "visible" | "hidden" | "collapse";
88
+ whiteSpace?: "normal" | "nowrap" | "pre" | "pre-wrap" | "pre-line";
89
+ letterSpacing?: string | number; // Length values
90
+ lineHeight?: string; // Number, length values, or percentages
91
+ textShadow?: string; // e.g., "1px 1px 2px black"
92
+ verticalAlign?: "baseline" | "sub" | "super" | "text-top" | "text-bottom" | "middle" | "top" | "bottom";
93
+ listStyle?: string; // e.g., "square inside"
94
+ listStyleType?: "disc" | "circle" | "square" | "decimal" | "lower-roman" | "upper-roman" | "lower-greek" | "lower-latin" | "upper-latin" | "armenian" | "georgian" | "lower-alpha" | "upper-alpha" | "none";
95
+ listStylePosition?: "inside" | "outside";
96
+ listStyleImage?: string; // URL of an image or "none"
97
+ tableLayout?: "auto" | "fixed";
98
+ borderCollapse?: "collapse" | "separate";
99
+ borderSpacing?: string; // e.g., "5px", "10px 15px"
100
+ captionSide?: "top" | "bottom";
101
+ emptyCells?: "show" | "hide";
102
+ backfaceVisibility?: "visible" | "hidden";
103
+ perspective?: string | number; // Length values
104
+ perspectiveOrigin?: string; // Percentage or length values
105
+ transformOrigin?: string; // e.g., "left top", "50% 50%", "100px 100px"
106
+ transformStyle?: "flat" | "preserve-3d";
107
+ clip?: string; // Deprecated, but sometimes used, e.g., "rect(1px, 1px, 1px, 1px)"
108
+ clipPath?: string; // e.g., "circle(50%)", "url(#myClip)"
109
+ filter?: string; // e.g., "blur(5px)", "brightness(0.4)"
110
+ backdropFilter?: string; // e.g., "blur(5px)", "brightness(0.4)"
111
+ gridTemplateColumns?: string; // e.g., "auto 1fr auto", "repeat(3, 1fr)"
112
+ gridTemplateRows?: string; // e.g., "auto 1fr auto", "repeat(3, 1fr)"
113
+ gridColumnGap?: string | number; // Length values
114
+ gridRowGap?: string | number; // Length values
115
+ gridColumnStart?: string; // e.g., "1", "2", "span 2"
116
+ gridColumnEnd?: string; // e.g., "1", "2", "span 2"
117
+ gridRowStart?: string; // e.g., "1", "2", "span 2"
118
+ gridRowEnd?: string; // e.g., "1", "2", "span 2"
119
+ gridAutoFlow?: "row" | "column" | "dense" | "row dense" | "column dense";
120
+ gridAutoColumns?: string; // e.g., "auto", "minmax(100px, auto)"
121
+ gridAutoRows?: string; // e.g., "auto", "minmax(100px, auto)"
122
+ gap?: string | number; // e.g., "10px", "10px 20px"
123
+ rowGap?: string | number; // e.g., "10px", "10px 20px"
124
+ columnGap?: string | number; // e.g., "10px", "10px 20px"
125
+ justifyContentSelf?: "start" | "end" | "center" | "stretch" | "self-start" | "self-end";
126
+ alignContentSelf?: "start" | "end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | "baseline";
127
+ placeContent?: string; // Combination of align-content and justify-content values
128
+ placeItems?: string; // Combination of align-items and justify-items values
129
+ placeSelf?: string; // Combination of align-self and justify-self values
130
+ writingMode?: "horizontal-tb" | "vertical-rl" | "vertical-lr";
131
+ textOrientation?: "mixed" | "upright" | "sideways";
132
+ textOverflow?: "clip" | "ellipsis";
133
+ unicodeBidi?: "normal" | "embed" | "bidi-override" | "isolate" | "isolate-override" | "plaintext";
134
+ userSelect?: "none" | "auto" | "text" | "contain" | "all";
135
+ pointerEvents?: "auto" | "none" | "visiblePainted" | "visibleFill" | "visibleStroke" | "visible" | "painted" | "fill" | "stroke" | "all";
136
+ resize?: "none" | "both" | "horizontal" | "vertical" | "block" | "inline";
137
+ scrollBehavior?: "auto" | "smooth";
138
+ willChange?: string; // e.g., "opacity", "transform"
139
+ gridColumn?: string; // e.g., "1 / span 2", "1 / 3"
140
+ gridRow?: string; // e.g., "1 / span 2", "1 / 3"
141
+ gridArea?: string; // e.g., "1 / col4-start / last-line / 6"
142
+ columnCount?: number | "auto";
143
+ columnFill?: "auto" | "balance";
144
+ columnGap?: string | number; // Length values or "normal"
145
+ columnRule?: string; // A shorthand property for column-rule-width, column-rule-style, and column-rule-color
146
+ columnRuleColor?: string; // Color values
147
+ columnRuleStyle?: "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
148
+ columnRuleWidth?: string | number; // Length values
149
+ columnSpan?: "none" | "all";
150
+ columnWidth?: string | "auto"; // Length values
151
+ columns?: string; // A shorthand property for column-width and column-count
152
+ flexFlow?: string; // A shorthand property for flex-direction and flex-wrap
153
+ orphans?: number;
154
+ widows?: number;
155
+ animation?: string; // e.g., "slidein 3s ease-in 1s infinite reverse both paused"
156
+ animationDelay?: string; // e.g., "1s", "100ms"
157
+ animationDirection?: "normal" | "reverse" | "alternate" | "alternate-reverse";
158
+ animationDuration?: string; // e.g., "3s", "200ms"
159
+ animationFillMode?: "none" | "forwards" | "backwards" | "both";
160
+ animationIterationCount?: number | "infinite";
161
+ animationName?: string; // e.g., "slidein", "fadeIn"
162
+ animationPlayState?: "paused" | "running";
163
+ animationTimingFunction?: "linear" | "ease" | "ease-in" | "ease-out" | "ease-in-out" | "step-start" | "step-end" | string; // Custom timing function
164
+ backgroundClip?: "border-box" | "padding-box" | "content-box" | "text";
165
+ backgroundOrigin?: "padding-box" | "border-box" | "content-box";
166
+ blockSize?: LengthOrPercentage; // Length values or percentages
167
+ borderImage?: string; // e.g., "url(border.png) 30 round"
168
+ borderImageOutset?: string; // e.g., "30px"
169
+ borderImageRepeat?: "stretch" | "repeat" | "round" | "space";
170
+ borderImageSlice?: string; // e.g., "30%"
171
+ borderImageSource?: string; // e.g., "url(border.png)"
172
+ borderImageWidth?: string; // e.g., "10px", "1em", "30%"
173
+ borderWidth?: string | number; // Length values
174
+ boxDecorationBreak?: "slice" | "clone";
175
+ breakAfter?: "auto" | "avoid" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso";
176
+ breakBefore?: "auto" | "avoid" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso";
177
+ breakInside?: "auto" | "avoid" | "avoid-page" | "avoid-column" | "avoid-region";
178
+ caretColor?: string; // Color values or "auto"
179
+ clear?: "none" | "left" | "right" | "both";
180
+ // Existing definitions...
181
+ // Further properties
182
+ clipRule?: "nonzero" | "evenodd";
183
+ colorAdjust?: "economy" | "exact";
184
+ contain?: "none" | "strict" | "content" | "size" | "layout" | "style" | "paint";
185
+ content?: string; // e.g., "'Hello'", "attr(data-name)"
186
+ counterIncrement?: string; // e.g., "section"
187
+ counterReset?: string; // e.g., "section"
188
+ counterSet?: string; // e.g., "item 1", "section"
189
+ direction?: "ltr" | "rtl";
190
+ dominantBaseline?: "auto" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "hanging" | "text-top";
191
+ fill?: string; // Color values or "none"
192
+ fillOpacity?: number; // From 0 to 1
193
+ fillRule?: "nonzero" | "evenodd";
194
+ flex?: string; // e.g., "1 1 auto", "0 1 auto"
195
+ float?: "left" | "right" | "none" | "inline-start" | "inline-end";
196
+ floodColor?: string; // Color values
197
+ floodOpacity?: number; // From 0 to 1
198
+ font?: string; // e.g., "12px/14px Arial, sans-serif"
199
+ fontFeatureSettings?: string; // e.g., "'liga' 1", "'frac' 0"
200
+ fontKerning?: "auto" | "normal" | "none";
201
+ fontLanguageOverride?: string;
202
+ fontSizeAdjust?: string | "none";
203
+ fontStretch?: "normal" | "condensed" | "semi-condensed" | "extra-condensed" | "expanded" | "semi-expanded" | "extra-expanded";
204
+ fontStyle?: "normal" | "italic" | "oblique";
205
+ fontSynthesis?: "none" | "weight" | "style";
206
+ fontVariant?: string; // e.g., "small-caps", "oldstyle-nums"
207
+ fontVariantCaps?: "normal" | "small-caps" | "all-small-caps" | "petite-caps" | "all-petite-caps" | "unicase" | "titling-caps";
208
+ objectFit?: "fill" | "contain" | "cover" | "none" | "scale-down";
209
+ // top | center | bottom | left | right | "25% 75%"
210
+ objectPosition?: string;
211
+ outline?: string; // A shorthand property for outline-width, outline-style, and outline-color
212
+ };