Skip to content

Commit 284a1ae

Browse files
committed
fix: inheritance problem when enum properties are protected. made public.
1 parent c6a5acc commit 284a1ae

138 files changed

Lines changed: 300 additions & 8994 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/phpmd.md

Lines changed: 46 additions & 282 deletions
Large diffs are not rendered by default.

src/Command/CreateClassCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ private function processEnumAttribute(string $attribute, array $details, string
440440
$returnType = sprintf('?%s', $enumName);
441441
}
442442

443-
return [$returnType, 'protected'];
443+
return [$returnType, 'public'];
444444
}
445445

446446
private function getOtherTypesFromEnum(string $type): array

src/Element/Block/Article.php

Lines changed: 1 addition & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
* Article - The article element represents a self-contained composition in a document, page, application, or site, which is intended to be independently distributable or reusable.
77
*
8-
* @generated 2025-10-19 21:39:12
8+
* @generated 2025-10-19 21:49:08
99
* @subpackage Html\Element\Block
1010
* @link https://vardumper.github.io/extended-htmldocument/
1111
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article
@@ -43,8 +43,6 @@
4343
use Html\Element\Void\Area;
4444
use Html\Element\Void\BreakElement;
4545
use Html\Element\Void\WordBreakOpportunity;
46-
use Html\Enum\DataPlacementEnum;
47-
use Html\Enum\DataThemeEnum;
4846
use Html\Mapping\Element;
4947

5048
#[Element('article')]
@@ -141,76 +139,4 @@ class Article extends BlockElement
141139
Video::class,
142140
WordBreakOpportunity::class,
143141
];
144-
145-
/**
146-
* Give extra context and information by adding tooltips.
147-
*/
148-
public ?string $dataTooltip = null;
149-
150-
/** Choose between light and dark mode. Overrides the OS default if set. */
151-
protected null|string|DataThemeEnum $dataTheme = null;
152-
153-
/**
154-
* Choose the position of a tooltip. Depends on data-tooltip attribute.
155-
* @example top
156-
*/
157-
protected null|string|DataPlacementEnum $dataPlacement = null;
158-
159-
public function setDataTheme(string|DataThemeEnum $dataTheme): static
160-
{
161-
$value = $dataTheme;
162-
if (is_string($dataTheme)) {
163-
$resolved = DataThemeEnum::tryFrom($dataTheme);
164-
if ($resolved !== null) {
165-
$dataTheme = $resolved;
166-
}
167-
}
168-
if ($dataTheme instanceof DataThemeEnum) {
169-
$value = $dataTheme->value;
170-
}
171-
$this->dataTheme = $dataTheme;
172-
$this->delegated->setAttribute('dataTheme', (string) $value);
173-
174-
return $this;
175-
}
176-
177-
public function getDataTheme(): string|DataThemeEnum
178-
{
179-
return $this->dataTheme;
180-
}
181-
182-
public function setDataTooltip(string $dataTooltip): static
183-
{
184-
$this->dataTooltip = $dataTooltip;
185-
$this->delegated->setAttribute('dataTooltip', (string) $dataTooltip);
186-
return $this;
187-
}
188-
189-
public function getDataTooltip(): ?string
190-
{
191-
return $this->dataTooltip;
192-
}
193-
194-
public function setDataPlacement(string|DataPlacementEnum $dataPlacement): static
195-
{
196-
$value = $dataPlacement;
197-
if (is_string($dataPlacement)) {
198-
$resolved = DataPlacementEnum::tryFrom($dataPlacement);
199-
if ($resolved !== null) {
200-
$dataPlacement = $resolved;
201-
}
202-
}
203-
if ($dataPlacement instanceof DataPlacementEnum) {
204-
$value = $dataPlacement->value;
205-
}
206-
$this->dataPlacement = $dataPlacement;
207-
$this->delegated->setAttribute('dataPlacement', (string) $value);
208-
209-
return $this;
210-
}
211-
212-
public function getDataPlacement(): string|DataPlacementEnum
213-
{
214-
return $this->dataPlacement;
215-
}
216142
}

src/Element/Block/Aside.php

Lines changed: 1 addition & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
* Aside - The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content.
77
*
8-
* @generated 2025-10-19 21:39:12
8+
* @generated 2025-10-19 21:49:08
99
* @subpackage Html\Element\Block
1010
* @link https://vardumper.github.io/extended-htmldocument/
1111
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside
@@ -52,8 +52,6 @@
5252
use Html\Element\Void\Source;
5353
use Html\Element\Void\Track;
5454
use Html\Element\Void\WordBreakOpportunity;
55-
use Html\Enum\DataPlacementEnum;
56-
use Html\Enum\DataThemeEnum;
5755
use Html\Mapping\Element;
5856

5957
#[Element('aside')]
@@ -154,76 +152,4 @@ class Aside extends BlockElement
154152
Video::class,
155153
WordBreakOpportunity::class,
156154
];
157-
158-
/**
159-
* Give extra context and information by adding tooltips.
160-
*/
161-
public ?string $dataTooltip = null;
162-
163-
/** Choose between light and dark mode. Overrides the OS default if set. */
164-
protected null|string|DataThemeEnum $dataTheme = null;
165-
166-
/**
167-
* Choose the position of a tooltip. Depends on data-tooltip attribute.
168-
* @example top
169-
*/
170-
protected null|string|DataPlacementEnum $dataPlacement = null;
171-
172-
public function setDataTheme(string|DataThemeEnum $dataTheme): static
173-
{
174-
$value = $dataTheme;
175-
if (is_string($dataTheme)) {
176-
$resolved = DataThemeEnum::tryFrom($dataTheme);
177-
if ($resolved !== null) {
178-
$dataTheme = $resolved;
179-
}
180-
}
181-
if ($dataTheme instanceof DataThemeEnum) {
182-
$value = $dataTheme->value;
183-
}
184-
$this->dataTheme = $dataTheme;
185-
$this->delegated->setAttribute('dataTheme', (string) $value);
186-
187-
return $this;
188-
}
189-
190-
public function getDataTheme(): string|DataThemeEnum
191-
{
192-
return $this->dataTheme;
193-
}
194-
195-
public function setDataTooltip(string $dataTooltip): static
196-
{
197-
$this->dataTooltip = $dataTooltip;
198-
$this->delegated->setAttribute('dataTooltip', (string) $dataTooltip);
199-
return $this;
200-
}
201-
202-
public function getDataTooltip(): ?string
203-
{
204-
return $this->dataTooltip;
205-
}
206-
207-
public function setDataPlacement(string|DataPlacementEnum $dataPlacement): static
208-
{
209-
$value = $dataPlacement;
210-
if (is_string($dataPlacement)) {
211-
$resolved = DataPlacementEnum::tryFrom($dataPlacement);
212-
if ($resolved !== null) {
213-
$dataPlacement = $resolved;
214-
}
215-
}
216-
if ($dataPlacement instanceof DataPlacementEnum) {
217-
$value = $dataPlacement->value;
218-
}
219-
$this->dataPlacement = $dataPlacement;
220-
$this->delegated->setAttribute('dataPlacement', (string) $value);
221-
222-
return $this;
223-
}
224-
225-
public function getDataPlacement(): string|DataPlacementEnum
226-
{
227-
return $this->dataPlacement;
228-
}
229155
}

src/Element/Block/Audio.php

Lines changed: 8 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
* Audio - The audio element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the source element.
77
*
8-
* @generated 2025-10-19 21:39:12
8+
* @generated 2025-10-19 21:49:08
99
* @subpackage Html\Element\Block
1010
* @link https://vardumper.github.io/extended-htmldocument/
1111
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
@@ -16,8 +16,6 @@
1616
use Html\Element\BlockElement;
1717
use Html\Element\Inline\MarkedText;
1818
use Html\Enum\CrossoriginEnum;
19-
use Html\Enum\DataPlacementEnum;
20-
use Html\Enum\DataThemeEnum;
2119
use Html\Enum\PreloadEnum;
2220
use Html\Mapping\Element;
2321
use InvalidArgumentException;
@@ -74,6 +72,11 @@ class Audio extends BlockElement
7472
*/
7573
public ?bool $controls = null;
7674

75+
/**
76+
* Specifies how the element handles cross-origin requests.
77+
*/
78+
public ?CrossoriginEnum $crossorigin = null;
79+
7780
/**
7881
* When present, it specifies that the audio or video will start over again every time it is finished.
7982
*/
@@ -84,33 +87,14 @@ class Audio extends BlockElement
8487
*/
8588
public ?bool $muted = null;
8689

90+
public ?PreloadEnum $preload = null;
91+
8792
/**
8893
* Specifies the URL of the external resource to be embedded or referenced.
8994
* @required
9095
*/
9196
public ?string $src = null;
9297

93-
/**
94-
* Give extra context and information by adding tooltips.
95-
*/
96-
public ?string $dataTooltip = null;
97-
98-
/**
99-
* Specifies how the element handles cross-origin requests.
100-
*/
101-
protected ?CrossoriginEnum $crossorigin = null;
102-
103-
protected ?PreloadEnum $preload = null;
104-
105-
/** Choose between light and dark mode. Overrides the OS default if set. */
106-
protected null|string|DataThemeEnum $dataTheme = null;
107-
108-
/**
109-
* Choose the position of a tooltip. Depends on data-tooltip attribute.
110-
* @example top
111-
*/
112-
protected null|string|DataPlacementEnum $dataPlacement = null;
113-
11498
public function setAutoplay(bool $autoplay): static
11599
{
116100
$this->autoplay = $autoplay;
@@ -206,62 +190,4 @@ public function getSrc(): ?string
206190
{
207191
return $this->src;
208192
}
209-
210-
public function setDataTheme(string|DataThemeEnum $dataTheme): static
211-
{
212-
$value = $dataTheme;
213-
if (is_string($dataTheme)) {
214-
$resolved = DataThemeEnum::tryFrom($dataTheme);
215-
if ($resolved !== null) {
216-
$dataTheme = $resolved;
217-
}
218-
}
219-
if ($dataTheme instanceof DataThemeEnum) {
220-
$value = $dataTheme->value;
221-
}
222-
$this->dataTheme = $dataTheme;
223-
$this->delegated->setAttribute('dataTheme', (string) $value);
224-
225-
return $this;
226-
}
227-
228-
public function getDataTheme(): string|DataThemeEnum
229-
{
230-
return $this->dataTheme;
231-
}
232-
233-
public function setDataTooltip(string $dataTooltip): static
234-
{
235-
$this->dataTooltip = $dataTooltip;
236-
$this->delegated->setAttribute('dataTooltip', (string) $dataTooltip);
237-
return $this;
238-
}
239-
240-
public function getDataTooltip(): ?string
241-
{
242-
return $this->dataTooltip;
243-
}
244-
245-
public function setDataPlacement(string|DataPlacementEnum $dataPlacement): static
246-
{
247-
$value = $dataPlacement;
248-
if (is_string($dataPlacement)) {
249-
$resolved = DataPlacementEnum::tryFrom($dataPlacement);
250-
if ($resolved !== null) {
251-
$dataPlacement = $resolved;
252-
}
253-
}
254-
if ($dataPlacement instanceof DataPlacementEnum) {
255-
$value = $dataPlacement->value;
256-
}
257-
$this->dataPlacement = $dataPlacement;
258-
$this->delegated->setAttribute('dataPlacement', (string) $value);
259-
260-
return $this;
261-
}
262-
263-
public function getDataPlacement(): string|DataPlacementEnum
264-
{
265-
return $this->dataPlacement;
266-
}
267193
}

0 commit comments

Comments
 (0)