@trebired/frontend 0.4.2 → 1.0.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 (223) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +112 -80
  3. package/dist/config/index.d.ts +6 -45
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/index.js +19 -252
  6. package/dist/config/index.js.map +1 -1
  7. package/dist/config/module.d.ts +5 -0
  8. package/dist/config/module.d.ts.map +1 -0
  9. package/dist/config/module.js +124 -0
  10. package/dist/config/module.js.map +1 -0
  11. package/dist/config/normalize.d.ts +9 -0
  12. package/dist/config/normalize.d.ts.map +1 -0
  13. package/dist/config/normalize.js +116 -0
  14. package/dist/config/normalize.js.map +1 -0
  15. package/dist/config/palette.d.ts +8 -0
  16. package/dist/config/palette.d.ts.map +1 -0
  17. package/dist/config/palette.js +104 -0
  18. package/dist/config/palette.js.map +1 -0
  19. package/dist/config/scales-css.d.ts +8 -0
  20. package/dist/config/scales-css.d.ts.map +1 -0
  21. package/dist/config/scales-css.js +99 -0
  22. package/dist/config/scales-css.js.map +1 -0
  23. package/dist/config/scales.d.ts +4 -0
  24. package/dist/config/scales.d.ts.map +1 -0
  25. package/dist/config/scales.js +55 -0
  26. package/dist/config/scales.js.map +1 -0
  27. package/dist/config/scss.d.ts +4 -0
  28. package/dist/config/scss.d.ts.map +1 -0
  29. package/dist/config/scss.js +134 -0
  30. package/dist/config/scss.js.map +1 -0
  31. package/dist/config/shared.d.ts +9 -0
  32. package/dist/config/shared.d.ts.map +1 -0
  33. package/dist/config/shared.js +27 -0
  34. package/dist/config/shared.js.map +1 -0
  35. package/dist/config/theme.d.ts +6 -0
  36. package/dist/config/theme.d.ts.map +1 -0
  37. package/dist/config/theme.js +133 -0
  38. package/dist/config/theme.js.map +1 -0
  39. package/dist/config/types.d.ts +127 -0
  40. package/dist/config/types.d.ts.map +1 -0
  41. package/dist/config/types.js +2 -0
  42. package/dist/config/types.js.map +1 -0
  43. package/dist/fullscreen/components/index.d.ts +20 -0
  44. package/dist/fullscreen/components/index.d.ts.map +1 -0
  45. package/dist/fullscreen/components/index.js +19 -0
  46. package/dist/fullscreen/components/index.js.map +1 -0
  47. package/dist/fullscreen/index.d.ts +24 -3
  48. package/dist/fullscreen/index.d.ts.map +1 -1
  49. package/dist/fullscreen/index.js +268 -7
  50. package/dist/fullscreen/index.js.map +1 -1
  51. package/dist/fullscreen/styles/index.scss +71 -0
  52. package/dist/index.d.ts +7 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +9 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/layout/components/index.d.ts +43 -0
  57. package/dist/layout/components/index.d.ts.map +1 -0
  58. package/dist/layout/components/index.js +53 -0
  59. package/dist/layout/components/index.js.map +1 -0
  60. package/dist/layout/index.d.ts +27 -0
  61. package/dist/layout/index.d.ts.map +1 -0
  62. package/dist/layout/index.js +80 -0
  63. package/dist/layout/index.js.map +1 -0
  64. package/dist/layout/styles/index.scss +137 -0
  65. package/dist/react/index.d.ts +14 -0
  66. package/dist/react/index.d.ts.map +1 -1
  67. package/dist/react/index.js +14 -0
  68. package/dist/react/index.js.map +1 -1
  69. package/dist/server/index.d.ts +5 -0
  70. package/dist/server/index.d.ts.map +1 -0
  71. package/dist/server/index.js +5 -0
  72. package/dist/server/index.js.map +1 -0
  73. package/dist/sidebar/components/index.d.ts +35 -0
  74. package/dist/sidebar/components/index.d.ts.map +1 -0
  75. package/dist/sidebar/components/index.js +49 -0
  76. package/dist/sidebar/components/index.js.map +1 -0
  77. package/dist/sidebar/index.d.ts +62 -0
  78. package/dist/sidebar/index.d.ts.map +1 -0
  79. package/dist/sidebar/index.js +247 -0
  80. package/dist/sidebar/index.js.map +1 -0
  81. package/dist/sidebar/styles/index.scss +205 -0
  82. package/dist/src/config/index.d.ts +6 -45
  83. package/dist/src/config/index.d.ts.map +1 -1
  84. package/dist/src/config/index.js +19 -252
  85. package/dist/src/config/index.js.map +1 -1
  86. package/dist/src/config/module.d.ts +5 -0
  87. package/dist/src/config/module.d.ts.map +1 -0
  88. package/dist/src/config/module.js +124 -0
  89. package/dist/src/config/module.js.map +1 -0
  90. package/dist/src/config/normalize.d.ts +9 -0
  91. package/dist/src/config/normalize.d.ts.map +1 -0
  92. package/dist/src/config/normalize.js +116 -0
  93. package/dist/src/config/normalize.js.map +1 -0
  94. package/dist/src/config/palette.d.ts +8 -0
  95. package/dist/src/config/palette.d.ts.map +1 -0
  96. package/dist/src/config/palette.js +104 -0
  97. package/dist/src/config/palette.js.map +1 -0
  98. package/dist/src/config/scales-css.d.ts +8 -0
  99. package/dist/src/config/scales-css.d.ts.map +1 -0
  100. package/dist/src/config/scales-css.js +99 -0
  101. package/dist/src/config/scales-css.js.map +1 -0
  102. package/dist/src/config/scales.d.ts +4 -0
  103. package/dist/src/config/scales.d.ts.map +1 -0
  104. package/dist/src/config/scales.js +55 -0
  105. package/dist/src/config/scales.js.map +1 -0
  106. package/dist/src/config/scss.d.ts +4 -0
  107. package/dist/src/config/scss.d.ts.map +1 -0
  108. package/dist/src/config/scss.js +134 -0
  109. package/dist/src/config/scss.js.map +1 -0
  110. package/dist/src/config/shared.d.ts +9 -0
  111. package/dist/src/config/shared.d.ts.map +1 -0
  112. package/dist/src/config/shared.js +27 -0
  113. package/dist/src/config/shared.js.map +1 -0
  114. package/dist/src/config/theme.d.ts +6 -0
  115. package/dist/src/config/theme.d.ts.map +1 -0
  116. package/dist/src/config/theme.js +133 -0
  117. package/dist/src/config/theme.js.map +1 -0
  118. package/dist/src/config/types.d.ts +127 -0
  119. package/dist/src/config/types.d.ts.map +1 -0
  120. package/dist/src/config/types.js +2 -0
  121. package/dist/src/config/types.js.map +1 -0
  122. package/dist/src/fullscreen/components/index.d.ts +20 -0
  123. package/dist/src/fullscreen/components/index.d.ts.map +1 -0
  124. package/dist/src/fullscreen/components/index.js +19 -0
  125. package/dist/src/fullscreen/components/index.js.map +1 -0
  126. package/dist/src/fullscreen/index.d.ts +24 -3
  127. package/dist/src/fullscreen/index.d.ts.map +1 -1
  128. package/dist/src/fullscreen/index.js +268 -7
  129. package/dist/src/fullscreen/index.js.map +1 -1
  130. package/dist/src/index.d.ts +7 -1
  131. package/dist/src/index.d.ts.map +1 -1
  132. package/dist/src/index.js +9 -1
  133. package/dist/src/index.js.map +1 -1
  134. package/dist/src/layout/components/index.d.ts +43 -0
  135. package/dist/src/layout/components/index.d.ts.map +1 -0
  136. package/dist/src/layout/components/index.js +53 -0
  137. package/dist/src/layout/components/index.js.map +1 -0
  138. package/dist/src/layout/index.d.ts +27 -0
  139. package/dist/src/layout/index.d.ts.map +1 -0
  140. package/dist/src/layout/index.js +80 -0
  141. package/dist/src/layout/index.js.map +1 -0
  142. package/dist/src/react/index.d.ts +14 -0
  143. package/dist/src/react/index.d.ts.map +1 -1
  144. package/dist/src/react/index.js +14 -0
  145. package/dist/src/react/index.js.map +1 -1
  146. package/dist/src/server/index.d.ts +5 -0
  147. package/dist/src/server/index.d.ts.map +1 -0
  148. package/dist/src/server/index.js +5 -0
  149. package/dist/src/server/index.js.map +1 -0
  150. package/dist/src/sidebar/components/index.d.ts +35 -0
  151. package/dist/src/sidebar/components/index.d.ts.map +1 -0
  152. package/dist/src/sidebar/components/index.js +49 -0
  153. package/dist/src/sidebar/components/index.js.map +1 -0
  154. package/dist/src/sidebar/index.d.ts +62 -0
  155. package/dist/src/sidebar/index.d.ts.map +1 -0
  156. package/dist/src/sidebar/index.js +247 -0
  157. package/dist/src/sidebar/index.js.map +1 -0
  158. package/dist/src/theme/apply.d.ts +26 -0
  159. package/dist/src/theme/apply.d.ts.map +1 -0
  160. package/dist/src/theme/apply.js +85 -0
  161. package/dist/src/theme/apply.js.map +1 -0
  162. package/dist/src/theme/boot.d.ts +4 -0
  163. package/dist/src/theme/boot.d.ts.map +1 -0
  164. package/dist/src/theme/boot.js +23 -0
  165. package/dist/src/theme/boot.js.map +1 -0
  166. package/dist/src/theme/components/index.d.ts +13 -5
  167. package/dist/src/theme/components/index.d.ts.map +1 -1
  168. package/dist/src/theme/components/index.js +22 -6
  169. package/dist/src/theme/components/index.js.map +1 -1
  170. package/dist/src/theme/constants.d.ts +12 -0
  171. package/dist/src/theme/constants.d.ts.map +1 -0
  172. package/dist/src/theme/constants.js +12 -0
  173. package/dist/src/theme/constants.js.map +1 -0
  174. package/dist/src/theme/controls.d.ts +15 -0
  175. package/dist/src/theme/controls.d.ts.map +1 -0
  176. package/dist/src/theme/controls.js +128 -0
  177. package/dist/src/theme/controls.js.map +1 -0
  178. package/dist/src/theme/index.d.ts +10 -24
  179. package/dist/src/theme/index.d.ts.map +1 -1
  180. package/dist/src/theme/index.js +15 -117
  181. package/dist/src/theme/index.js.map +1 -1
  182. package/dist/src/theme/modes.d.ts +36 -0
  183. package/dist/src/theme/modes.d.ts.map +1 -0
  184. package/dist/src/theme/modes.js +107 -0
  185. package/dist/src/theme/modes.js.map +1 -0
  186. package/dist/styles/utils.scss +193 -0
  187. package/dist/theme/apply.d.ts +26 -0
  188. package/dist/theme/apply.d.ts.map +1 -0
  189. package/dist/theme/apply.js +85 -0
  190. package/dist/theme/apply.js.map +1 -0
  191. package/dist/theme/boot.d.ts +4 -0
  192. package/dist/theme/boot.d.ts.map +1 -0
  193. package/dist/theme/boot.js +23 -0
  194. package/dist/theme/boot.js.map +1 -0
  195. package/dist/theme/components/index.d.ts +13 -5
  196. package/dist/theme/components/index.d.ts.map +1 -1
  197. package/dist/theme/components/index.js +22 -6
  198. package/dist/theme/components/index.js.map +1 -1
  199. package/dist/theme/constants.d.ts +12 -0
  200. package/dist/theme/constants.d.ts.map +1 -0
  201. package/dist/theme/constants.js +12 -0
  202. package/dist/theme/constants.js.map +1 -0
  203. package/dist/theme/controls.d.ts +15 -0
  204. package/dist/theme/controls.d.ts.map +1 -0
  205. package/dist/theme/controls.js +128 -0
  206. package/dist/theme/controls.js.map +1 -0
  207. package/dist/theme/index.d.ts +10 -24
  208. package/dist/theme/index.d.ts.map +1 -1
  209. package/dist/theme/index.js +15 -117
  210. package/dist/theme/index.js.map +1 -1
  211. package/dist/theme/modes.d.ts +36 -0
  212. package/dist/theme/modes.d.ts.map +1 -0
  213. package/dist/theme/modes.js +107 -0
  214. package/dist/theme/modes.js.map +1 -0
  215. package/package.json +4 -167
  216. package/dist/src/styles/index.d.ts +0 -3
  217. package/dist/src/styles/index.d.ts.map +0 -1
  218. package/dist/src/styles/index.js +0 -15
  219. package/dist/src/styles/index.js.map +0 -1
  220. package/dist/styles/index.d.ts +0 -3
  221. package/dist/styles/index.d.ts.map +0 -1
  222. package/dist/styles/index.js +0 -15
  223. package/dist/styles/index.js.map +0 -1
@@ -0,0 +1,133 @@
1
+ import { assertPlainObject, invalidConfig, isPlainObject, normalizeBoolean } from "./shared.js";
2
+ const THEME_MODE_KEY_RE = /^[a-z0-9][a-z0-9_-]*$/iu;
3
+ const THEME_TOKEN_KEY_RE = /^[a-z0-9_-]+$/iu;
4
+ const THEME_MODE_FIELDS = ["label", "scheme", "tokens"];
5
+ const DARK_KEY_RE = /(^|[-_])dark([-_]|$)/iu;
6
+ function normalizeThemeTokens(value, pathLabel = "theme.tokens") {
7
+ if (value === undefined)
8
+ return {};
9
+ const source = assertPlainObject(value, pathLabel);
10
+ const out = {};
11
+ for (const [key, item] of Object.entries(source).sort(([a], [b]) => a.localeCompare(b))) {
12
+ if (!THEME_TOKEN_KEY_RE.test(key)) {
13
+ throw invalidConfig(`${pathLabel}.${key} has an invalid token key`);
14
+ }
15
+ if (isPlainObject(item)) {
16
+ out[key] = normalizeThemeTokens(item, `${pathLabel}.${key}`);
17
+ continue;
18
+ }
19
+ if (typeof item !== "string" && typeof item !== "number") {
20
+ throw invalidConfig(`${pathLabel}.${key} must be a string, number, or token object`);
21
+ }
22
+ out[key] = item;
23
+ }
24
+ return out;
25
+ }
26
+ function normalizeThemeModeKey(key) {
27
+ const normalized = String(key || "").trim().toLowerCase();
28
+ if (!THEME_MODE_KEY_RE.test(normalized)) {
29
+ throw invalidConfig(`theme.modes.${key} must start with a letter or number and contain only letters, numbers, underscores, or hyphens`);
30
+ }
31
+ return normalized;
32
+ }
33
+ function normalizeThemeModeScheme(value, key) {
34
+ if (value === undefined)
35
+ return DARK_KEY_RE.test(key) ? "dark" : "light";
36
+ if (value !== "dark" && value !== "light") {
37
+ throw invalidConfig(`theme.modes.${key}.scheme must be "dark" or "light"`);
38
+ }
39
+ return value;
40
+ }
41
+ function normalizeThemeModeLabel(value, key) {
42
+ if (value === undefined) {
43
+ const words = key.replace(/[-_]+/gu, " ");
44
+ return words.charAt(0).toUpperCase() + words.slice(1);
45
+ }
46
+ if (typeof value !== "string" || !value.trim()) {
47
+ throw invalidConfig(`theme.modes.${key}.label must be a non-empty string`);
48
+ }
49
+ return value.trim();
50
+ }
51
+ function normalizeThemeMode(rawKey, source) {
52
+ const key = normalizeThemeModeKey(rawKey);
53
+ for (const field of Object.keys(source)) {
54
+ if (!THEME_MODE_FIELDS.includes(field)) {
55
+ throw invalidConfig(`theme.modes.${key}.${field} is not supported; declare custom properties under theme.modes.${key}.tokens`);
56
+ }
57
+ }
58
+ return {
59
+ key,
60
+ label: normalizeThemeModeLabel(source.label, key),
61
+ scheme: normalizeThemeModeScheme(source.scheme, key),
62
+ tokens: normalizeThemeTokens(source.tokens, `theme.modes.${key}.tokens`),
63
+ };
64
+ }
65
+ function themeModeEntries(value) {
66
+ if (!Array.isArray(value)) {
67
+ return Object.entries(assertPlainObject(value, "theme.modes")).map(([key, item]) => {
68
+ return [key, assertPlainObject(item, `theme.modes.${key}`)];
69
+ });
70
+ }
71
+ return value.map((item, index) => {
72
+ const { key, ...rest } = assertPlainObject(item, `theme.modes[${index}]`);
73
+ if (typeof key !== "string" || !key.trim()) {
74
+ throw invalidConfig(`theme.modes[${index}].key must be a non-empty string`);
75
+ }
76
+ return [key, rest];
77
+ });
78
+ }
79
+ function normalizeThemeModes(value) {
80
+ if (value === undefined)
81
+ return [];
82
+ const modes = [];
83
+ for (const [key, source] of themeModeEntries(value)) {
84
+ const mode = normalizeThemeMode(key, source);
85
+ if (modes.some((existing) => existing.key === mode.key)) {
86
+ throw invalidConfig(`theme.modes.${mode.key} is declared more than once`);
87
+ }
88
+ modes.push(mode);
89
+ }
90
+ return modes;
91
+ }
92
+ function resolveDeclaredMode(modes, value, pathLabel) {
93
+ if (value === undefined || value === "")
94
+ return "";
95
+ const key = String(value).trim().toLowerCase();
96
+ if (!modes.some((mode) => mode.key === key)) {
97
+ throw invalidConfig(`${pathLabel} must name a mode declared in theme.modes`);
98
+ }
99
+ return key;
100
+ }
101
+ function resolveSchemeMode(modes, value, scheme, pathLabel) {
102
+ const explicit = resolveDeclaredMode(modes, value, pathLabel);
103
+ if (explicit)
104
+ return explicit;
105
+ return modes.find((mode) => mode.scheme === scheme)?.key || "";
106
+ }
107
+ function normalizeThemeConfig(value) {
108
+ const source = value === undefined ? {} : assertPlainObject(value, "theme");
109
+ const modes = normalizeThemeModes(source.modes);
110
+ return {
111
+ cssVariables: normalizeBoolean(source.cssVariables, true, "theme.cssVariables"),
112
+ dark: resolveSchemeMode(modes, source.dark, "dark", "theme.dark"),
113
+ defaultMode: resolveDeclaredMode(modes, source.defaultMode, "theme.defaultMode"),
114
+ light: resolveSchemeMode(modes, source.light, "light", "theme.light"),
115
+ modes,
116
+ tokens: normalizeThemeTokens(source.tokens),
117
+ };
118
+ }
119
+ function flattenThemeTokens(tokens, prefix = []) {
120
+ const out = [];
121
+ for (const [key, value] of Object.entries(tokens).sort(([a], [b]) => a.localeCompare(b))) {
122
+ if (isPlainObject(value)) {
123
+ out.push(...flattenThemeTokens(value, [...prefix, key]));
124
+ continue;
125
+ }
126
+ if (typeof value === "string" || typeof value === "number") {
127
+ out.push([[...prefix, key].join("-"), value]);
128
+ }
129
+ }
130
+ return out;
131
+ }
132
+ export { flattenThemeTokens, normalizeThemeConfig, normalizeThemeTokens };
133
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/config/theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ type TrebiredFrontendIconPack = "remixicon" | "simple-icons";
2
+ type TrebiredFrontendSystemKey = "actions" | "flash" | "fullscreen" | "icons" | "inputs" | "layer" | "layout" | "modal" | "popover" | "progress" | "sidebar" | "theme" | "tooltip";
3
+ type TrebiredFrontendThemeTokens = Record<string, unknown>;
4
+ type TrebiredFrontendThemeModeScheme = "dark" | "light";
5
+ type TrebiredFrontendThemeMode = {
6
+ label?: string;
7
+ scheme?: TrebiredFrontendThemeModeScheme;
8
+ tokens?: TrebiredFrontendThemeTokens;
9
+ };
10
+ type TrebiredFrontendThemeConfig = {
11
+ cssVariables?: boolean;
12
+ dark?: string;
13
+ defaultMode?: string;
14
+ light?: string;
15
+ modes?: Record<string, TrebiredFrontendThemeMode>;
16
+ tokens?: TrebiredFrontendThemeTokens;
17
+ };
18
+ type TrebiredFrontendPaletteScale = Record<string, string>;
19
+ type TrebiredFrontendPaletteFamilies = Record<string, TrebiredFrontendPaletteScale>;
20
+ type TrebiredFrontendPaletteMode = {
21
+ scale: TrebiredFrontendPaletteFamilies;
22
+ };
23
+ type TrebiredFrontendPaletteSemanticRef = {
24
+ family: string;
25
+ step: string;
26
+ };
27
+ type TrebiredFrontendPaletteConfig = {
28
+ modes?: Record<string, TrebiredFrontendPaletteMode>;
29
+ semantic?: Record<string, TrebiredFrontendPaletteSemanticRef>;
30
+ suffixedVariants?: boolean;
31
+ };
32
+ type TrebiredFrontendScaleSteps = Record<string, number>;
33
+ type TrebiredFrontendZIndexScaleConfig = {
34
+ confetti?: string;
35
+ layerRoot?: string;
36
+ progress?: string;
37
+ steps: TrebiredFrontendScaleSteps;
38
+ };
39
+ type TrebiredFrontendScalesConfig = {
40
+ height?: TrebiredFrontendScaleSteps;
41
+ lineHeight?: TrebiredFrontendScaleSteps;
42
+ padding?: TrebiredFrontendScaleSteps;
43
+ radius?: TrebiredFrontendScaleSteps;
44
+ spacing?: TrebiredFrontendScaleSteps;
45
+ textSize?: TrebiredFrontendScaleSteps;
46
+ width?: TrebiredFrontendScaleSteps;
47
+ zIndex?: TrebiredFrontendZIndexScaleConfig;
48
+ };
49
+ type TrebiredFrontendConfig = {
50
+ palette?: TrebiredFrontendPaletteConfig;
51
+ prefix?: string;
52
+ icons?: {
53
+ endpoint?: string;
54
+ packs?: readonly TrebiredFrontendIconPack[];
55
+ };
56
+ scales?: TrebiredFrontendScalesConfig;
57
+ systems?: Partial<Record<TrebiredFrontendSystemKey, boolean>>;
58
+ theme?: TrebiredFrontendThemeConfig;
59
+ };
60
+ type NormalizedTrebiredFrontendThemeMode = {
61
+ key: string;
62
+ label: string;
63
+ scheme: TrebiredFrontendThemeModeScheme;
64
+ tokens: TrebiredFrontendThemeTokens;
65
+ };
66
+ type NormalizedTrebiredFrontendThemeConfig = {
67
+ cssVariables: boolean;
68
+ dark: string;
69
+ defaultMode: string;
70
+ light: string;
71
+ modes: NormalizedTrebiredFrontendThemeMode[];
72
+ tokens: TrebiredFrontendThemeTokens;
73
+ };
74
+ type NormalizedTrebiredFrontendPaletteMode = {
75
+ key: string;
76
+ scale: TrebiredFrontendPaletteFamilies;
77
+ };
78
+ type NormalizedTrebiredFrontendPaletteSemantic = {
79
+ family: string;
80
+ name: string;
81
+ step: string;
82
+ };
83
+ type NormalizedTrebiredFrontendPaletteConfig = {
84
+ modes: NormalizedTrebiredFrontendPaletteMode[];
85
+ semantic: NormalizedTrebiredFrontendPaletteSemantic[];
86
+ suffixedVariants: boolean;
87
+ };
88
+ type NormalizedTrebiredFrontendZIndexScaleConfig = {
89
+ confetti: string;
90
+ layerRoot: string;
91
+ progress: string;
92
+ steps: TrebiredFrontendScaleSteps;
93
+ };
94
+ type NormalizedTrebiredFrontendScalesConfig = {
95
+ height: TrebiredFrontendScaleSteps;
96
+ lineHeight: TrebiredFrontendScaleSteps;
97
+ padding: TrebiredFrontendScaleSteps;
98
+ radius: TrebiredFrontendScaleSteps;
99
+ spacing: TrebiredFrontendScaleSteps;
100
+ textSize: TrebiredFrontendScaleSteps;
101
+ width: TrebiredFrontendScaleSteps;
102
+ zIndex: NormalizedTrebiredFrontendZIndexScaleConfig;
103
+ };
104
+ type NormalizedTrebiredFrontendConfig = {
105
+ palette: NormalizedTrebiredFrontendPaletteConfig;
106
+ prefix: string;
107
+ icons: {
108
+ endpoint: string;
109
+ packs: TrebiredFrontendIconPack[];
110
+ };
111
+ scales: NormalizedTrebiredFrontendScalesConfig;
112
+ systems: Record<TrebiredFrontendSystemKey, boolean>;
113
+ theme: NormalizedTrebiredFrontendThemeConfig;
114
+ };
115
+ type LoadedTrebiredFrontendConfig = {
116
+ config: NormalizedTrebiredFrontendConfig;
117
+ configPath: string | null;
118
+ dependencies: string[];
119
+ generatedScss: string;
120
+ };
121
+ type LoadTrebiredFrontendConfigOptions = {
122
+ configPath?: string;
123
+ defaultIfMissing?: boolean;
124
+ searchFrom?: string;
125
+ };
126
+ export type { LoadTrebiredFrontendConfigOptions, LoadedTrebiredFrontendConfig, NormalizedTrebiredFrontendConfig, NormalizedTrebiredFrontendPaletteConfig, NormalizedTrebiredFrontendPaletteMode, NormalizedTrebiredFrontendPaletteSemantic, NormalizedTrebiredFrontendScalesConfig, NormalizedTrebiredFrontendThemeConfig, NormalizedTrebiredFrontendThemeMode, NormalizedTrebiredFrontendZIndexScaleConfig, TrebiredFrontendConfig, TrebiredFrontendIconPack, TrebiredFrontendPaletteConfig, TrebiredFrontendPaletteFamilies, TrebiredFrontendPaletteMode, TrebiredFrontendPaletteScale, TrebiredFrontendPaletteSemanticRef, TrebiredFrontendScaleSteps, TrebiredFrontendScalesConfig, TrebiredFrontendSystemKey, TrebiredFrontendThemeConfig, TrebiredFrontendThemeMode, TrebiredFrontendThemeModeScheme, TrebiredFrontendThemeTokens, TrebiredFrontendZIndexScaleConfig, };
127
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA,KAAK,wBAAwB,GAAG,WAAW,GAAG,cAAc,CAAC;AAE7D,KAAK,yBAAyB,GAC1B,SAAS,GACT,OAAO,GACP,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd,KAAK,2BAA2B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,KAAK,+BAA+B,GAAG,MAAM,GAAG,OAAO,CAAC;AAExD,KAAK,yBAAyB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,+BAA+B,CAAC;IACzC,MAAM,CAAC,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF,KAAK,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,KAAK,+BAA+B,GAAG,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;AAEpF,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,+BAA+B,CAAC;CACxC,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAC9D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,KAAK,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzD,KAAK,iCAAiC,GAAG;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,0BAA0B,CAAC;CACnC,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,MAAM,CAAC,EAAE,iCAAiC,CAAC;CAC5C,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,6BAA6B,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;KAC7C,CAAC;IACF,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,+BAA+B,CAAC;IACxC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEF,KAAK,qCAAqC,GAAG;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,mCAAmC,EAAE,CAAC;IAC7C,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEF,KAAK,qCAAqC,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,+BAA+B,CAAC;CACxC,CAAC;AAEF,KAAK,yCAAyC,GAAG;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,uCAAuC,GAAG;IAC7C,KAAK,EAAE,qCAAqC,EAAE,CAAC;IAC/C,QAAQ,EAAE,yCAAyC,EAAE,CAAC;IACtD,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,KAAK,2CAA2C,GAAG;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,0BAA0B,CAAC;CACnC,CAAC;AAEF,KAAK,sCAAsC,GAAG;IAC5C,MAAM,EAAE,0BAA0B,CAAC;IACnC,UAAU,EAAE,0BAA0B,CAAC;IACvC,OAAO,EAAE,0BAA0B,CAAC;IACpC,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,0BAA0B,CAAC;IACpC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,KAAK,EAAE,0BAA0B,CAAC;IAClC,MAAM,EAAE,2CAA2C,CAAC;CACrD,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,OAAO,EAAE,uCAAuC,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,wBAAwB,EAAE,CAAC;KACnC,CAAC;IACF,MAAM,EAAE,sCAAsC,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IACpD,KAAK,EAAE,qCAAqC,CAAC;CAC9C,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,gCAAgC,CAAC;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,YAAY,EACV,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,uCAAuC,EACvC,qCAAqC,EACrC,yCAAyC,EACzC,sCAAsC,EACtC,qCAAqC,EACrC,mCAAmC,EACnC,2CAA2C,EAC3C,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,iCAAiC,GAClC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { ButtonHTMLAttributes, HTMLAttributes } from "react";
2
+ import type { FullscreenTriggerMode } from "../../../fullscreen/index.d.ts";
3
+ type FullscreenTargetProps = HTMLAttributes<HTMLDivElement> & {
4
+ fullscreenId: string;
5
+ group?: string;
6
+ persist?: boolean;
7
+ };
8
+ type FullscreenButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
9
+ fullscreenId?: string;
10
+ group?: string;
11
+ mode?: FullscreenTriggerMode;
12
+ nativeTarget?: string;
13
+ };
14
+ declare function FullscreenTarget(props: FullscreenTargetProps): import("react").JSX.Element;
15
+ declare function FullscreenButton(props: FullscreenButtonProps): import("react").JSX.Element;
16
+ declare function FullscreenOpenButton(props: Omit<FullscreenButtonProps, "mode">): import("react").JSX.Element;
17
+ declare function FullscreenCloseButton(props: Omit<FullscreenButtonProps, "mode">): import("react").JSX.Element;
18
+ export { FullscreenButton, FullscreenCloseButton, FullscreenOpenButton, FullscreenTarget, };
19
+ export type { FullscreenButtonProps, FullscreenTargetProps };
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fullscreen/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EAEf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,KAAK,qBAAqB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,qBAAqB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAqBrD;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BA6BrD;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,+BAEvE;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,+BAExE;AAED,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { classNames, dataBool } from "../../../components/index.js";
3
+ function FullscreenTarget(props) {
4
+ const { children, className, fullscreenId, group = "default", persist, ...rest } = props;
5
+ return (_jsx("div", { ...rest, className: classNames("tbf-fullscreen-target", className), "data-tbf-fullscreen-target": "", "data-tbf-fullscreen-id": fullscreenId, "data-tbf-fullscreen-group": group, "data-tbf-fullscreen-persist": dataBool(persist), children: children }));
6
+ }
7
+ function FullscreenButton(props) {
8
+ const { children, className, fullscreenId, group = "default", mode = "toggle", nativeTarget, type = "button", ...rest } = props;
9
+ const panel = Boolean(fullscreenId);
10
+ return (_jsx("button", { ...rest, className: classNames("tbf-button tbf-fullscreen-button", className), "data-tbf-fullscreen-trigger": panel ? "" : undefined, "data-tbf-fullscreen-id": fullscreenId, "data-tbf-fullscreen-group": panel ? group : undefined, "data-tbf-fullscreen-mode": mode, "data-tbf-fullscreen-target": nativeTarget, "data-tbf-fullscreen-toggle": !panel && mode === "toggle" ? "" : undefined, "data-tbf-fullscreen-enter": !panel && mode === "open" ? "" : undefined, "data-tbf-fullscreen-exit": !panel && (mode === "close" || mode === "exit") ? "" : undefined, type: type, children: children }));
11
+ }
12
+ function FullscreenOpenButton(props) {
13
+ return _jsx(FullscreenButton, { ...props, mode: "open" });
14
+ }
15
+ function FullscreenCloseButton(props) {
16
+ return _jsx(FullscreenButton, { ...props, mode: "close" });
17
+ }
18
+ export { FullscreenButton, FullscreenCloseButton, FullscreenOpenButton, FullscreenTarget, };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fullscreen/components/index.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgBrD,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,KAAK,GAAG,SAAS,EACjB,OAAO,EACP,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,iBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,SAAS,CAAC,gCAC9B,EAAE,4BACL,YAAY,+BACT,KAAK,iCACH,QAAQ,CAAC,OAAO,CAAC,YAE7C,QAAqB,GAClB,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,QAAQ,EACf,YAAY,EACZ,IAAI,GAAG,QAAQ,EACf,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACpC,OAAO,CACL,oBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,SAAS,CAAC,iCACvC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,4BAC3B,YAAY,+BACT,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,8BAC1B,IAAI,gCACF,YAAY,gCACZ,CAAC,KAAK,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,+BAC7C,CAAC,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,8BAC3C,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAC1F,IAAI,EAAE,IAAI,YAET,QAAQ,GACF,CACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA0C;IACtE,OAAO,KAAC,gBAAgB,OAAK,KAAK,EAAE,IAAI,EAAC,MAAM,GAAG,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA0C;IACvE,OAAO,KAAC,gBAAgB,OAAK,KAAK,EAAE,IAAI,EAAC,OAAO,GAAG,CAAC;AACtD,CAAC;AAED,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,CAAC"}
@@ -1,15 +1,36 @@
1
1
  import { type BindRoot } from "../../dom/index.d.ts";
2
- declare const FULLSCREEN_TRIGGER_SELECTOR = "[data-tbf-fullscreen-toggle],[data-tbf-fullscreen-enter],[data-tbf-fullscreen-exit]";
2
+ declare const FULLSCREEN_BASE_Z_INDEX = 1120;
3
+ declare const FULLSCREEN_TRIGGER_SELECTOR: string;
4
+ declare const FULLSCREEN_TARGET_SELECTOR = "[data-tbf-fullscreen-target][data-tbf-fullscreen-id][data-tbf-fullscreen-group]";
5
+ declare const FULLSCREEN_STORAGE_PREFIX = "tbf:fullscreen:";
3
6
  type FullscreenRuntimeOptions = {
4
7
  target?: Element | string | null;
5
8
  };
9
+ type FullscreenTriggerMode = "close" | "exit" | "open" | "toggle";
10
+ type FullscreenPanelState = {
11
+ group: string;
12
+ id: string;
13
+ nextSibling: ChildNode | null;
14
+ originalParent: Node | null;
15
+ originalStyle: string | null;
16
+ overlay: HTMLElement;
17
+ placeholder: HTMLElement;
18
+ target: HTMLElement;
19
+ trigger: HTMLElement | null;
20
+ };
6
21
  declare function fullscreenElement(): Element | null;
7
22
  declare function fullscreenSupported(): boolean;
8
23
  declare function enterFullscreen(target?: Element | string | null): Promise<boolean>;
9
24
  declare function exitFullscreen(): Promise<boolean>;
10
25
  declare function toggleFullscreen(target?: Element | string | null): Promise<boolean>;
26
+ declare function registerFullscreenTarget(target: HTMLElement | null): HTMLElement;
27
+ declare function openFullscreenTarget(id: string, group?: string, trigger?: HTMLElement | null): HTMLElement;
28
+ declare function closeFullscreenTarget(options?: {
29
+ immediate?: boolean;
30
+ }): boolean;
31
+ declare function toggleFullscreenTarget(id: string, group?: string, trigger?: HTMLElement | null): HTMLElement;
11
32
  declare function bindFullscreenTrigger(trigger: HTMLElement | null, options?: FullscreenRuntimeOptions): boolean;
12
33
  declare function bindFullscreen(root?: BindRoot, options?: FullscreenRuntimeOptions): void;
13
- export { FULLSCREEN_TRIGGER_SELECTOR, bindFullscreen, bindFullscreenTrigger, enterFullscreen, exitFullscreen, fullscreenElement, fullscreenSupported, toggleFullscreen, };
14
- export type { FullscreenRuntimeOptions };
34
+ export { FULLSCREEN_BASE_Z_INDEX, FULLSCREEN_STORAGE_PREFIX, FULLSCREEN_TARGET_SELECTOR, FULLSCREEN_TRIGGER_SELECTOR, bindFullscreen, bindFullscreenTrigger, enterFullscreen, exitFullscreen, fullscreenElement, fullscreenSupported, openFullscreenTarget, closeFullscreenTarget, registerFullscreenTarget, toggleFullscreen, toggleFullscreenTarget, };
35
+ export type { FullscreenPanelState, FullscreenRuntimeOptions, FullscreenTriggerMode };
15
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fullscreen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/E,QAAA,MAAM,2BAA2B,wFAAwF,CAAC;AAE1H,KAAK,wBAAwB,GAAG;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,iBAAS,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAE3C;AAED,iBAAS,mBAAmB,IAAI,OAAO,CAEtC;AAQD,iBAAe,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAMjF;AAED,iBAAe,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAKhD;AAED,iBAAe,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAElF;AAOD,iBAAS,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAc3G;AAED,iBAAS,cAAc,CAAC,IAAI,GAAE,QAAmB,EAAE,OAAO,GAAE,wBAA6B,GAAG,IAAI,CAI/F;AAED,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fullscreen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ/E,QAAA,MAAM,uBAAuB,OAAO,CAAC;AACrC,QAAA,MAAM,2BAA2B,QAKtB,CAAC;AACZ,QAAA,MAAM,0BAA0B,oFAAoF,CAAC;AACrH,QAAA,MAAM,yBAAyB,oBAAoB,CAAC;AAEpD,KAAK,wBAAwB,GAAG;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElE,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B,CAAC;AASF,iBAAS,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAE3C;AAED,iBAAS,mBAAmB,IAAI,OAAO,CAEtC;AAQD,iBAAe,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAMjF;AAED,iBAAe,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAKhD;AAED,iBAAe,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAElF;AA2HD,iBAAS,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,eAY3D;AASD,iBAAS,oBAAoB,CAC3B,EAAE,EAAE,MAAM,EACV,KAAK,SAAY,EACjB,OAAO,GAAE,WAAW,GAAG,IAAW,eA2CnC;AAmBD,iBAAS,qBAAqB,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,WAiBnE;AAED,iBAAS,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAY,EAAE,OAAO,GAAE,WAAW,GAAG,IAAW,eAMhG;AAED,iBAAS,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CA2B3G;AAED,iBAAS,cAAc,CAAC,IAAI,GAAE,QAAmB,EAAE,OAAO,GAAE,wBAA6B,GAAG,IAAI,CAO/F;AAUD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,GACvB,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,CAAC"}