eidotter 0.18.0 → 0.19.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.
- package/LICENSE.md +41 -1
- package/README.md +15 -6
- package/dist/components/Accordion/components/AccordionFill.d.ts +0 -0
- package/dist/components/Accordion/components/Section.d.ts +0 -0
- package/dist/components/Accordion/components/index.d.ts +0 -0
- package/dist/components/Accordion/index.d.ts +0 -0
- package/dist/components/Alert/components/Alert.d.ts +0 -0
- package/dist/components/Alert/components/index.d.ts +0 -0
- package/dist/components/Alert/index.d.ts +0 -0
- package/dist/components/Badge/components/Badge.d.ts +0 -0
- package/dist/components/Badge/components/index.d.ts +0 -0
- package/dist/components/Badge/index.d.ts +0 -0
- package/dist/components/Breadcrumb/components/Breadcrumb.d.ts +0 -0
- package/dist/components/Breadcrumb/components/index.d.ts +0 -0
- package/dist/components/Breadcrumb/index.d.ts +0 -0
- package/dist/components/Button/components/Button.d.ts +0 -0
- package/dist/components/Button/components/index.d.ts +0 -0
- package/dist/components/Button/index.d.ts +0 -0
- package/dist/components/Card/components/Card.d.ts +0 -0
- package/dist/components/Card/components/index.d.ts +0 -0
- package/dist/components/Card/index.d.ts +0 -0
- package/dist/components/Chat/components/ChatContainer.d.ts +0 -0
- package/dist/components/Chat/components/ChatHistory.d.ts +0 -0
- package/dist/components/Chat/components/ChatInput.d.ts +0 -0
- package/dist/components/Chat/components/ChatMessage.d.ts +0 -0
- package/dist/components/Chat/components/index.d.ts +0 -0
- package/dist/components/Chat/index.d.ts +0 -0
- package/dist/components/Checkbox/components/Checkbox.d.ts +0 -0
- package/dist/components/Checkbox/components/index.d.ts +0 -0
- package/dist/components/Checkbox/index.d.ts +0 -0
- package/dist/components/CommandPrompt/components/CommandPrompt.d.ts +0 -0
- package/dist/components/CommandPrompt/components/index.d.ts +0 -0
- package/dist/components/CommandPrompt/index.d.ts +0 -0
- package/dist/components/FilterBar/components/FilterBar.d.ts +0 -0
- package/dist/components/FilterBar/components/index.d.ts +0 -0
- package/dist/components/FilterBar/index.d.ts +0 -0
- package/dist/components/Footer/components/Footer.d.ts +0 -0
- package/dist/components/Footer/components/index.d.ts +0 -0
- package/dist/components/Footer/index.d.ts +0 -0
- package/dist/components/Header/components/Header.d.ts +13 -14
- package/dist/components/Header/components/index.d.ts +0 -0
- package/dist/components/Header/index.d.ts +0 -0
- package/dist/components/Icon/components/Icon.d.ts +18 -7
- package/dist/components/Icon/components/index.d.ts +0 -0
- package/dist/components/Icon/index.d.ts +0 -0
- package/dist/components/InlineExpand/components/InlineExpand.d.ts +0 -0
- package/dist/components/InlineExpand/components/index.d.ts +0 -0
- package/dist/components/InlineExpand/index.d.ts +0 -0
- package/dist/components/Input/components/Input.d.ts +0 -0
- package/dist/components/Input/components/index.d.ts +0 -0
- package/dist/components/Input/index.d.ts +0 -0
- package/dist/components/Modal/components/Modal.d.ts +0 -0
- package/dist/components/Modal/components/index.d.ts +0 -0
- package/dist/components/Modal/index.d.ts +0 -0
- package/dist/components/Nav/components/Nav.d.ts +0 -0
- package/dist/components/Nav/components/index.d.ts +0 -0
- package/dist/components/Nav/index.d.ts +0 -0
- package/dist/components/Notification/components/Notification.d.ts +0 -0
- package/dist/components/Notification/components/index.d.ts +0 -0
- package/dist/components/Notification/index.d.ts +0 -0
- package/dist/components/Progress/components/Progress.d.ts +0 -0
- package/dist/components/Progress/components/index.d.ts +0 -0
- package/dist/components/Progress/index.d.ts +0 -0
- package/dist/components/RetroEffects/components/RetroEffects.d.ts +0 -0
- package/dist/components/RetroEffects/components/index.d.ts +0 -0
- package/dist/components/RetroEffects/index.d.ts +0 -0
- package/dist/components/Separator/components/Separator.d.ts +0 -0
- package/dist/components/Separator/components/index.d.ts +0 -0
- package/dist/components/Separator/index.d.ts +0 -0
- package/dist/components/Stat/components/Stat.d.ts +0 -0
- package/dist/components/Stat/components/index.d.ts +0 -0
- package/dist/components/Stat/index.d.ts +0 -0
- package/dist/components/Switch/components/Switch.d.ts +0 -0
- package/dist/components/Switch/components/index.d.ts +0 -0
- package/dist/components/Switch/index.d.ts +0 -0
- package/dist/components/Tabs/components/Tabs.d.ts +0 -0
- package/dist/components/Tabs/components/index.d.ts +0 -0
- package/dist/components/Tabs/index.d.ts +0 -0
- package/dist/components/Tag/components/Tag.d.ts +0 -0
- package/dist/components/Tag/components/TagGroup.d.ts +0 -0
- package/dist/components/Tag/components/index.d.ts +0 -0
- package/dist/components/Tag/index.d.ts +0 -0
- package/dist/components/Terminal/components/Terminal.d.ts +0 -0
- package/dist/components/Terminal/components/index.d.ts +0 -0
- package/dist/components/Terminal/index.d.ts +0 -0
- package/dist/components/TextScramble/components/TextScramble.d.ts +0 -0
- package/dist/components/TextScramble/components/index.d.ts +0 -0
- package/dist/components/TextScramble/index.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineAxis.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineContainer.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineContent.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineEntryCard.d.ts +0 -0
- package/dist/components/TimelineContainer/components/ZoomControls.d.ts +0 -0
- package/dist/components/TimelineContainer/components/index.d.ts +0 -0
- package/dist/components/TimelineContainer/components/timelineUtils.d.ts +0 -0
- package/dist/components/TimelineContainer/components/timelineUtils.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/types.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useDrillDown.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useDrillDown.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useSelection.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useSelection.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useZoom.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useZoom.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/DayView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/HourView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/MonthView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/YearView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/index.d.ts +0 -0
- package/dist/components/TimelineContainer/index.d.ts +0 -0
- package/dist/components/TimelineNode/components/TimelineNode.d.ts +0 -0
- package/dist/components/TimelineNode/components/index.d.ts +0 -0
- package/dist/components/TimelineNode/index.d.ts +0 -0
- package/dist/components/registry.d.ts +0 -0
- package/dist/eidotter.css +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.es.js +2574 -2511
- package/dist/index.umd.js +6 -6
- package/guidelines/README.md +6 -3
- package/guidelines/components.md +40 -1
- package/guidelines/patterns.md +0 -0
- package/package.json +3 -3
- package/src/styles/fonts/Flexi_IBM_VGA_LICENSE.txt +0 -0
- package/src/styles/fonts/Flexi_IBM_VGA_True.ttf +0 -0
- package/src/styles/fonts.css +12 -3
- package/src/styles/theme.amber-mono.css +31 -21
- package/src/styles/theme.cga-amber.css +38 -28
- package/src/styles/theme.cga-mode4-p0.css +41 -31
- package/src/styles/theme.cga-mode4-p1.css +49 -39
- package/src/styles/theme.cga-mode5.css +50 -40
- package/src/styles/tokens.css +34 -24
- package/tailwind.preset.cjs +32 -18
- package/tailwind.preset.enhanced.cjs +0 -0
- package/src/styles/fonts/Flexi_IBM_VGA_False.ttf +0 -0
package/LICENSE.md
CHANGED
|
@@ -64,4 +64,44 @@ For the avoidance of doubt, Section 5(b) does not affect any right the Licensor
|
|
|
64
64
|
|
|
65
65
|
---
|
|
66
66
|
|
|
67
|
-
For more information about the license, visit: https://creativecommons.org/licenses/by-nc/4.0/
|
|
67
|
+
For more information about the license, visit: https://creativecommons.org/licenses/by-nc/4.0/
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
# Third-Party Licenses
|
|
72
|
+
|
|
73
|
+
eidotter bundles the following third-party software into its distributed package. Each third-party component retains its original license, reproduced below in full as required by that license.
|
|
74
|
+
|
|
75
|
+
## pixelarticons
|
|
76
|
+
|
|
77
|
+
[pixelarticons](https://github.com/halfmage/pixelarticons) — authentic DOS pixel art icons. Bundled into `dist/index.es.js` and `dist/index.umd.js` via `src/components/Icon/components/Icon.tsx`.
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
MIT License
|
|
81
|
+
|
|
82
|
+
Copyright (c) 2019 Gerrit Halfmann
|
|
83
|
+
|
|
84
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
85
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
86
|
+
in the Software without restriction, including without limitation the rights
|
|
87
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
88
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
89
|
+
furnished to do so, subject to the following conditions:
|
|
90
|
+
|
|
91
|
+
The above copyright notice and this permission notice shall be included in all
|
|
92
|
+
copies or substantial portions of the Software.
|
|
93
|
+
|
|
94
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
95
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
96
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
97
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
98
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
99
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
100
|
+
SOFTWARE.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Flexi IBM VGA True
|
|
104
|
+
|
|
105
|
+
Flexi IBM VGA True v2 — bitmap-style remake of the IBM VGA BIOS font by VileR (int10h.org). Bundled as `src/styles/fonts/Flexi_IBM_VGA_True.ttf` and loaded via `src/styles/fonts.css`.
|
|
106
|
+
|
|
107
|
+
Licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). Full license text and attribution notice: `src/styles/fonts/Flexi_IBM_VGA_LICENSE.txt`.
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ npm install eidotter
|
|
|
12
12
|
|
|
13
13
|
```tsx
|
|
14
14
|
import { Terminal, Button, Alert } from 'eidotter';
|
|
15
|
-
import 'eidotter/fonts.css'; // Flexi IBM VGA
|
|
15
|
+
import 'eidotter/fonts.css'; // Flexi IBM VGA True @font-face (required)
|
|
16
16
|
import 'eidotter/styles'; // Component CSS (includes Tailwind utilities)
|
|
17
17
|
import 'eidotter/tokens.css'; // Design token CSS variables (required)
|
|
18
18
|
|
|
@@ -35,7 +35,7 @@ function App() {
|
|
|
35
35
|
Import the styles, tokens, and font. All component styling is pre-compiled — no build tools required.
|
|
36
36
|
|
|
37
37
|
```tsx
|
|
38
|
-
import 'eidotter/fonts.css'; // Flexi IBM VGA
|
|
38
|
+
import 'eidotter/fonts.css'; // Flexi IBM VGA True @font-face (required)
|
|
39
39
|
import 'eidotter/styles'; // Component CSS (includes Tailwind utilities)
|
|
40
40
|
import 'eidotter/tokens.css'; // CSS variable definitions
|
|
41
41
|
|
|
@@ -43,7 +43,7 @@ import 'eidotter/tokens.css'; // CSS variable definitions
|
|
|
43
43
|
import 'eidotter/themes/amber-mono.css';
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
**Font:** eiDotter uses [Flexi IBM VGA
|
|
46
|
+
**Font:** eiDotter uses [Flexi IBM VGA True v2](https://int10h.org/blog/2018/05/flexi-ibm-vga-scalable-truetype-font/) — an aspect-corrected vector remake of the IBM VGA BIOS font (CC BY-SA 4.0). The "True" variant matches authentic 4:3 VGA proportions with an extended character set (Greek, Cyrillic, Hebrew, Latin). The `fonts.css` import loads the bundled TTF via `@font-face`. No fallback fonts are configured so you'll immediately see if the font isn't loading.
|
|
47
47
|
|
|
48
48
|
### With Tailwind CSS
|
|
49
49
|
|
|
@@ -74,7 +74,7 @@ For React Aria state variants and animations, use the enhanced preset:
|
|
|
74
74
|
presets: [require('eidotter/tailwind.preset.enhanced')],
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
## Available Components (
|
|
77
|
+
## Available Components (33)
|
|
78
78
|
|
|
79
79
|
| Component | Description |
|
|
80
80
|
|-----------|-------------|
|
|
@@ -92,7 +92,8 @@ presets: [require('eidotter/tailwind.preset.enhanced')],
|
|
|
92
92
|
| CommandPrompt | Interactive command-line input with blinking cursor |
|
|
93
93
|
| FilterBar | Multi-select toggle group for faceted filtering |
|
|
94
94
|
| Footer | Site footer with legal links (Impressum + Datenschutz) |
|
|
95
|
-
|
|
|
95
|
+
| Header | Sticky site header composing branding + Nav — retro/modern variants |
|
|
96
|
+
| Icon | SVG icons backed by pixelarticons (MIT) — authentic DOS pixel art |
|
|
96
97
|
| InlineExpand | Inline disclosure widget for expanding text within prose |
|
|
97
98
|
| Input | Text input with DOS styling and error variant |
|
|
98
99
|
| Modal | Dialog overlay with title bar and close button |
|
|
@@ -113,6 +114,14 @@ presets: [require('eidotter/tailwind.preset.enhanced')],
|
|
|
113
114
|
|
|
114
115
|
## Component Examples
|
|
115
116
|
|
|
117
|
+
### Header
|
|
118
|
+
|
|
119
|
+
```tsx
|
|
120
|
+
<Header brandName="DMNC.TECH" items={navItems} variant="retro">
|
|
121
|
+
{/* or use children for custom branding */}
|
|
122
|
+
</Header>
|
|
123
|
+
```
|
|
124
|
+
|
|
116
125
|
### Terminal
|
|
117
126
|
|
|
118
127
|
```tsx
|
|
@@ -213,7 +222,7 @@ Available themes: `amber-mono`, `cga-amber`, `cga-mode4-p0`, `cga-mode4-p1`, `cg
|
|
|
213
222
|
|
|
214
223
|
**Semantic Colors:** `dos-bg-primary`, `dos-bg-secondary`, `dos-text-primary`, `dos-text-accent`, `dos-border-default`, `dos-border-focus`, `dos-success`, `dos-warning`, `dos-error`, `dos-info`
|
|
215
224
|
|
|
216
|
-
**Typography:** `font-dos` (Flexi IBM VGA
|
|
225
|
+
**Typography:** `font-dos` (Flexi IBM VGA True v2), `text-dos-text-xs` through `text-dos-display-2xl`, `leading-dos-text-xs` through `leading-dos-display-2xl`
|
|
217
226
|
|
|
218
227
|
**Spacing:** 4px grid via design tokens
|
|
219
228
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { NavItem, NavProps } from '../../Nav';
|
|
3
3
|
import './Header.css';
|
|
4
|
-
export interface HeaderProps {
|
|
5
|
-
/** Site
|
|
6
|
-
|
|
7
|
-
/** Href for the
|
|
8
|
-
|
|
9
|
-
/** Navigation items */
|
|
4
|
+
export interface HeaderProps extends React.HTMLAttributes<HTMLElement> {
|
|
5
|
+
/** Site brand name displayed in the header */
|
|
6
|
+
brandName?: string;
|
|
7
|
+
/** Href for the brand link (default: "/") */
|
|
8
|
+
brandHref?: string;
|
|
9
|
+
/** Navigation items passed through to Nav */
|
|
10
10
|
items: NavItem[];
|
|
11
11
|
/** Currently active href (highlights matching nav link) */
|
|
12
12
|
activeHref?: string;
|
|
13
|
-
/** Visual variant */
|
|
13
|
+
/** Visual variant applied to both header and nav */
|
|
14
14
|
variant?: 'retro' | 'modern';
|
|
15
|
-
/**
|
|
15
|
+
/** Whether the header sticks to viewport top */
|
|
16
|
+
sticky?: boolean;
|
|
17
|
+
/** Custom link component for framework routing (Next.js Link, React Router Link, etc.) */
|
|
16
18
|
linkComponent?: NavProps['linkComponent'];
|
|
19
|
+
/** Custom branding content — replaces brandName when provided */
|
|
20
|
+
children?: React.ReactNode;
|
|
17
21
|
/** Additional CSS class name */
|
|
18
22
|
className?: string;
|
|
19
23
|
}
|
|
20
|
-
|
|
21
|
-
* Standard site header composing branding + Nav.
|
|
22
|
-
* Provides the canonical layout for all eidotter-consuming sites:
|
|
23
|
-
* branding left, desktop nav right, hamburger on mobile.
|
|
24
|
-
*/
|
|
25
|
-
export declare const Header: React.FC<HeaderProps>;
|
|
24
|
+
export declare const Header: React.ForwardRefExoticComponent<HeaderProps & React.RefAttributes<HTMLElement>>;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import './Icon.css';
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
type PixelIcon = FC<React.SVGProps<SVGSVGElement>>;
|
|
4
|
+
declare const ICON_MAP: {
|
|
5
|
+
Info: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
6
|
+
Warning: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
7
|
+
Error: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
8
|
+
Done: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
9
|
+
Check: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
10
|
+
Close: PixelIcon;
|
|
11
|
+
'Chevron Up': (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
12
|
+
'Chevron Down': (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
13
|
+
App: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
14
|
+
Cancel: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
15
|
+
Fullscreen: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
16
|
+
Add: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
|
|
17
|
+
};
|
|
8
18
|
export type IconName = keyof typeof ICON_MAP;
|
|
9
19
|
export type IconSize = 'L' | 'S';
|
|
10
20
|
export interface IconProps {
|
|
@@ -24,8 +34,9 @@ export interface IconProps {
|
|
|
24
34
|
'aria-label'?: string;
|
|
25
35
|
}
|
|
26
36
|
/**
|
|
27
|
-
* Icon component backed by
|
|
37
|
+
* Icon component backed by pixelarticons (MIT licensed).
|
|
28
38
|
* Renders inline SVG with proper viewBox scaling at any size.
|
|
39
|
+
* The DOS pixel aesthetic matches eidotter's design language.
|
|
29
40
|
*/
|
|
30
41
|
export declare const Icon: FC<IconProps>;
|
|
31
42
|
export {};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|