From 6da5c662cf9ea6d29b73525bf0bd6428847b70ba Mon Sep 17 00:00:00 2001
From: mantou132 <709922234@qq.com>
Date: Sun, 31 Dec 2023 16:05:44 +0800
Subject: [PATCH] [duoyun-ui] Fixed `document.createElement` error
---
.../duoyun-ui/src/elements/action-text.ts | 3 +-
packages/duoyun-ui/src/elements/button.ts | 4 +-
.../duoyun-ui/src/elements/cascader-picker.ts | 5 +-
packages/duoyun-ui/src/elements/checkbox.ts | 4 +-
.../duoyun-ui/src/elements/color-picker.ts | 5 +-
.../duoyun-ui/src/elements/contextmenu.ts | 6 +--
.../duoyun-ui/src/elements/date-picker.ts | 5 +-
.../src/elements/date-range-picker.ts | 5 +-
packages/duoyun-ui/src/elements/drawer.ts | 2 +-
.../duoyun-ui/src/elements/file-picker.ts | 16 ++++---
packages/duoyun-ui/src/elements/input.ts | 3 +-
packages/duoyun-ui/src/elements/link.ts | 2 +
packages/duoyun-ui/src/elements/options.ts | 3 +-
packages/duoyun-ui/src/elements/picker.ts | 6 +--
packages/duoyun-ui/src/elements/radio.ts | 4 +-
packages/duoyun-ui/src/elements/rate.ts | 3 +-
packages/duoyun-ui/src/elements/segmented.ts | 3 +-
packages/duoyun-ui/src/elements/select.ts | 3 +-
.../duoyun-ui/src/elements/shortcut-record.ts | 10 +---
packages/duoyun-ui/src/elements/slider.ts | 8 ++--
packages/duoyun-ui/src/elements/switch.ts | 4 +-
.../duoyun-ui/src/elements/time-picker.ts | 5 +-
packages/duoyun-ui/src/elements/tree.ts | 3 +-
packages/duoyun-ui/src/elements/wait.ts | 2 +-
.../gem-book/src/element/elements/footer.ts | 1 -
packages/gem-book/src/element/helper/i18n.ts | 2 +
.../gem/docs/en/003-api/001-gem-element.md | 1 +
.../004-blog/001-create-standard-element.md | 10 ++--
.../gem/docs/zh/003-api/001-gem-element.md | 1 +
.../004-blog/001-create-standard-element.md | 8 +++-
packages/gem/src/elements/base/dialog.ts | 5 +-
packages/gem/src/elements/base/link.ts | 3 +-
packages/gem/src/elements/base/reflect.ts | 26 ++++++++---
packages/gem/src/elements/base/title.ts | 10 +++-
packages/gem/src/helper/ssr-shim.ts | 18 ++++++--
packages/gem/src/lib/element.ts | 46 +++++++++++++++----
packages/gem/src/lib/utils.ts | 12 ++++-
37 files changed, 163 insertions(+), 94 deletions(-)
diff --git a/packages/duoyun-ui/src/elements/action-text.ts b/packages/duoyun-ui/src/elements/action-text.ts
index fe2c8a71..124565dc 100644
--- a/packages/duoyun-ui/src/elements/action-text.ts
+++ b/packages/duoyun-ui/src/elements/action-text.ts
@@ -41,8 +41,7 @@ export class DuoyunActionTextElement extends GemElement {
@state active: boolean;
constructor() {
- super();
- this.tabIndex = 0;
+ super({ focusable: true });
this.internals.role = 'button';
this.addEventListener('keydown', commonHandle);
}
diff --git a/packages/duoyun-ui/src/elements/button.ts b/packages/duoyun-ui/src/elements/button.ts
index af9a5089..e6eb152a 100644
--- a/packages/duoyun-ui/src/elements/button.ts
+++ b/packages/duoyun-ui/src/elements/button.ts
@@ -208,8 +208,8 @@ export class DuoyunButtonElement extends GemElement {
}
;
constructor() {
- super();
+ super({ focusable: true });
this.addEventListener('click', this.#onOpen);
this.addEventListener('keydown', commonHandle);
- this.tabIndex = 0;
this.internals.role = 'combobox';
}
diff --git a/packages/duoyun-ui/src/elements/checkbox.ts b/packages/duoyun-ui/src/elements/checkbox.ts
index 92a17f72..0fe1b181 100644
--- a/packages/duoyun-ui/src/elements/checkbox.ts
+++ b/packages/duoyun-ui/src/elements/checkbox.ts
@@ -89,12 +89,12 @@ export class DuoyunCheckboxElement extends GemElement {
return html`
diff --git a/packages/duoyun-ui/src/elements/color-picker.ts b/packages/duoyun-ui/src/elements/color-picker.ts
index ff8ee2f9..6209c8c0 100644
--- a/packages/duoyun-ui/src/elements/color-picker.ts
+++ b/packages/duoyun-ui/src/elements/color-picker.ts
@@ -56,7 +56,7 @@ const style = createCSSSheet(css`
@customElement('dy-color-picker')
@adoptedStyle(style)
@adoptedStyle(focusStyle)
-export class DuoyunColorPickElement extends GemElement implements BasePickerElement {
+export class DuoyunColorPickerElement extends GemElement implements BasePickerElement {
@attribute value: HexColor;
@boolattribute alpha: boolean;
@refobject popoverRef: RefObject
;
@@ -85,7 +85,8 @@ export class DuoyunColorPickElement extends GemElement implements BasePickerElem
>
;
- static instance?: DuoyunContextMenuElement;
+ static instance?: DuoyunContextmenuElement;
static async open(contextmenu: Menu, options: ContextMenuOptions = {}) {
const {
@@ -365,4 +365,4 @@ export class DuoyunContextMenuElement extends GemElement {
};
}
-export const ContextMenu = DuoyunContextMenuElement;
+export const ContextMenu = DuoyunContextmenuElement;
diff --git a/packages/duoyun-ui/src/elements/date-picker.ts b/packages/duoyun-ui/src/elements/date-picker.ts
index 019d583c..f5571973 100644
--- a/packages/duoyun-ui/src/elements/date-picker.ts
+++ b/packages/duoyun-ui/src/elements/date-picker.ts
@@ -69,7 +69,7 @@ const style = createCSSSheet(css`
@adoptedStyle(style)
@adoptedStyle(focusStyle)
@connectStore(icons)
-export class DuoyunDatePickElement extends GemElement implements BasePickerElement {
+export class DuoyunDatePickerElement extends GemElement implements BasePickerElement {
@attribute placeholder: string;
@boolattribute time: boolean;
@boolattribute clearable: boolean;
@@ -89,10 +89,9 @@ export class DuoyunDatePickElement extends GemElement implements BasePickerEleme
}
constructor() {
- super();
+ super({ focusable: true });
this.addEventListener('click', this.#onOpen);
this.addEventListener('keydown', commonHandle);
- this.tabIndex = 0;
this.internals.role = 'combobox';
}
diff --git a/packages/duoyun-ui/src/elements/date-range-picker.ts b/packages/duoyun-ui/src/elements/date-range-picker.ts
index 8e7911da..38695067 100644
--- a/packages/duoyun-ui/src/elements/date-range-picker.ts
+++ b/packages/duoyun-ui/src/elements/date-range-picker.ts
@@ -66,7 +66,7 @@ const style = createCSSSheet(css`
@adoptedStyle(style)
@adoptedStyle(pickerStyle)
@adoptedStyle(focusStyle)
-export class DuoyunDateRangePickElement extends GemElement implements BasePickerElement {
+export class DuoyunDateRangePickerElement extends GemElement implements BasePickerElement {
@attribute placeholder: string;
@boolattribute clearable: boolean;
@boolattribute disabled: boolean;
@@ -78,10 +78,9 @@ export class DuoyunDateRangePickElement extends GemElement implements BasePicker
@emitter clear: Emitter;
constructor() {
- super();
+ super({ focusable: true });
this.addEventListener('click', this.#onOpen);
this.addEventListener('keydown', commonHandle);
- this.tabIndex = 0;
this.internals.role = 'combobox';
}
diff --git a/packages/duoyun-ui/src/elements/drawer.ts b/packages/duoyun-ui/src/elements/drawer.ts
index cd1a8a8f..c044a3ac 100644
--- a/packages/duoyun-ui/src/elements/drawer.ts
+++ b/packages/duoyun-ui/src/elements/drawer.ts
@@ -27,7 +27,7 @@ const style = createCSSSheet(css`
@customElement('dy-drawer')
@adoptedStyle(style)
export class DuoyunDrawerElement extends DuoyunModalElement {
- constructor(options: ModalOptions) {
+ constructor(options: ModalOptions = {}) {
super(options);
this.addEventListener('maskclick', () => this.close(null));
this.openAnimation = slideInLeft;
diff --git a/packages/duoyun-ui/src/elements/file-picker.ts b/packages/duoyun-ui/src/elements/file-picker.ts
index 66f9e5b7..5ceeeed9 100644
--- a/packages/duoyun-ui/src/elements/file-picker.ts
+++ b/packages/duoyun-ui/src/elements/file-picker.ts
@@ -120,7 +120,7 @@ export interface FileItem extends File {
@customElement('dy-file-picker')
@adoptedStyle(style)
@adoptedStyle(focusStyle)
-export class DuoyunFilePickElement extends GemElement implements BasePickerElement {
+export class DuoyunFilePickerElement extends GemElement implements BasePickerElement {
@part static button: string;
@part static item: string;
@@ -131,6 +131,7 @@ export class DuoyunFilePickElement extends GemElement implements BasePickerEleme
/**@deprecated Use children*/
@attribute placeholder: string;
@boolattribute directory: boolean;
+ @boolattribute disabled: boolean;
@boolattribute multiple: boolean;
@globalemitter change: Emitter
;
@refobject inputRef: RefObject;
@@ -173,13 +174,14 @@ export class DuoyunFilePickElement extends GemElement implements BasePickerEleme
}
};
return html`
-
+
${name}
${progress ? html`
${Math.floor(progress)}%
` : ''}