@geektech/one 0.1.0 → 0.3.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/README-zh.md +112 -9
- package/README.md +117 -10
- package/dist/avatar/OneAvatar.d.ts +21 -0
- package/dist/avatar/index.d.ts +2 -0
- package/dist/categories.d.ts +4 -4
- package/dist/collapse/OneCollapse.d.ts +31 -0
- package/dist/collapse/index.d.ts +2 -0
- package/dist/index.d.ts +23 -1
- package/dist/index.js +3083 -1005
- package/dist/index.js.map +18 -6
- package/dist/loading/OneLoading.d.ts +16 -0
- package/dist/loading/index.d.ts +2 -0
- package/dist/progress/OneProgress.d.ts +15 -0
- package/dist/progress/index.d.ts +2 -0
- package/dist/radio/OneRadio.d.ts +32 -0
- package/dist/radio/OneRadioGroup.d.ts +30 -0
- package/dist/radio/index.d.ts +4 -0
- package/dist/rate/OneRate.d.ts +28 -0
- package/dist/rate/index.d.ts +2 -0
- package/dist/skeleton/OneSkeleton.d.ts +16 -0
- package/dist/skeleton/index.d.ts +2 -0
- package/dist/slider/OneSlider.d.ts +29 -0
- package/dist/slider/index.d.ts +2 -0
- package/dist/table/OneTable.d.ts +26 -0
- package/dist/table/index.d.ts +2 -0
- package/dist/time-picker/OneTimePicker.d.ts +47 -0
- package/dist/time-picker/index.d.ts +2 -0
- package/dist/upload/OneUpload.d.ts +36 -0
- package/dist/upload/index.d.ts +2 -0
- package/package.json +9 -3
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../lib/button/OneButton.ts", "../lib/styles/shared.ts", "../lib/input/OneInput.ts", "../lib/form/context.ts", "../lib/form/model.ts", "../lib/form/OneForm.ts", "../lib/form/OneFormItem.ts", "../lib/checkbox/OneCheckbox.ts", "../lib/checkbox/OneCheckboxGroup.ts", "../lib/switch/OneSwitch.ts", "../lib/select/OneSelect.ts", "../lib/tabs/OneTabs.ts", "../lib/breadcrumb/OneBreadcrumb.ts", "../lib/navigation/normalize.ts", "../lib/pagination/OnePagination.ts", "../lib/pagination/tokens.ts", "../lib/categories.ts", "../lib/card/OneCard.ts", "../lib/tag/OneTag.ts", "../lib/data-display/types.ts", "../lib/badge/OneBadge.ts", "../lib/empty/OneEmpty.ts", "../lib/theme/default-theme.ts", "../lib/theme/errors.ts", "../lib/theme/normalize.ts", "../lib/theme/variables.ts", "../lib/theme/OneThemeService.ts", "../lib/overlay/errors.ts", "../lib/overlay/container.ts", "../lib/overlay/host.ts", "../lib/overlay/mount-controller.ts", "../lib/overlay/positioner.ts", "../lib/alert/OneAlert.ts", "../lib/message/MessageOverlay.ts", "../lib/message/timer.ts", "../lib/message/OneMessage.ts", "../lib/message/normalize.ts", "../lib/message/service.ts", "../lib/dialog/DialogOverlay.ts", "../lib/dialog/focus-manager.ts", "../lib/dialog/scroll-lock.ts", "../lib/dialog/OneDialog.ts", "../lib/dialog/service.ts", "../lib/tooltip/OneTooltip.ts", "../lib/tooltip/TooltipBubble.ts", "../lib/index.ts"],
|
|
3
|
+
"sources": ["../lib/button/OneButton.ts", "../lib/styles/shared.ts", "../lib/input/OneInput.ts", "../lib/form/context.ts", "../lib/form/model.ts", "../lib/form/OneForm.ts", "../lib/form/OneFormItem.ts", "../lib/checkbox/OneCheckbox.ts", "../lib/checkbox/OneCheckboxGroup.ts", "../lib/switch/OneSwitch.ts", "../lib/radio/OneRadio.ts", "../lib/radio/OneRadioGroup.ts", "../lib/select/OneSelect.ts", "../lib/time-picker/OneTimePicker.ts", "../lib/slider/OneSlider.ts", "../lib/rate/OneRate.ts", "../lib/upload/OneUpload.ts", "../lib/tabs/OneTabs.ts", "../lib/breadcrumb/OneBreadcrumb.ts", "../lib/navigation/normalize.ts", "../lib/pagination/OnePagination.ts", "../lib/pagination/tokens.ts", "../lib/categories.ts", "../lib/card/OneCard.ts", "../lib/tag/OneTag.ts", "../lib/data-display/types.ts", "../lib/badge/OneBadge.ts", "../lib/empty/OneEmpty.ts", "../lib/avatar/OneAvatar.ts", "../lib/progress/OneProgress.ts", "../lib/table/OneTable.ts", "../lib/collapse/OneCollapse.ts", "../lib/skeleton/OneSkeleton.ts", "../lib/theme/default-theme.ts", "../lib/theme/errors.ts", "../lib/theme/normalize.ts", "../lib/theme/variables.ts", "../lib/theme/OneThemeService.ts", "../lib/overlay/errors.ts", "../lib/overlay/container.ts", "../lib/overlay/host.ts", "../lib/overlay/mount-controller.ts", "../lib/overlay/positioner.ts", "../lib/alert/OneAlert.ts", "../lib/message/MessageOverlay.ts", "../lib/message/timer.ts", "../lib/message/OneMessage.ts", "../lib/message/normalize.ts", "../lib/message/service.ts", "../lib/dialog/DialogOverlay.ts", "../lib/dialog/focus-manager.ts", "../lib/dialog/scroll-lock.ts", "../lib/dialog/OneDialog.ts", "../lib/dialog/service.ts", "../lib/tooltip/OneTooltip.ts", "../lib/tooltip/TooltipBubble.ts", "../lib/loading/OneLoading.ts", "../lib/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeOneSize,\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\nimport type { OneComponentSize } from '../types';\n\nexport type OneButtonVariant = 'primary' | 'secondary' | 'danger';\n\nexport interface OneButtonProps {\n variant?: OneButtonVariant;\n size?: OneComponentSize;\n type?: 'button' | 'submit' | 'reset';\n disabled?: boolean;\n loading?: boolean;\n children?: Array<VNode | string>;\n}\n\nconst ONE_BUTTON_VARIANTS: readonly OneButtonVariant[] = [\n 'primary',\n 'secondary',\n 'danger',\n];\n\nconst ONE_BUTTON_TYPES: readonly NonNullable<OneButtonProps['type']>[] = [\n 'button',\n 'submit',\n 'reset',\n];\n\nexport const ONE_BUTTON_STYLES: OneNamedStyle[] = [\n {\n name: 'one-button-base',\n selector: '.one-button',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: `var(--one-button-gap, var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm}))`,\n border: oneThemeBorder('transparent'),\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n fontWeight: '500',\n cursor: 'pointer',\n transition: '150ms ease',\n },\n },\n {\n name: 'one-button-primary',\n selector: '.one-button--primary',\n properties: {\n color: `var(--one-color-primary-contrast, ${ONE_THEME_DEFAULTS.colorText})`,\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n hover: {\n backgroundColor: `var(--one-color-primary-hover, ${ONE_THEME_DEFAULTS.colorPrimaryHover})`,\n },\n },\n {\n name: 'one-button-secondary',\n selector: '.one-button--secondary',\n properties: {\n color: `var(--one-color-secondary-contrast, ${ONE_THEME_DEFAULTS.colorText})`,\n backgroundColor: `var(--one-color-secondary, ${ONE_THEME_DEFAULTS.colorSurface})`,\n },\n hover: {\n backgroundColor: `var(--one-color-secondary-hover, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-button-danger',\n selector: '.one-button--danger',\n properties: {\n color: `var(--one-color-danger-contrast, ${ONE_THEME_DEFAULTS.colorSurface})`,\n backgroundColor: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n hover: {\n backgroundColor: `var(--one-color-danger-hover, ${ONE_THEME_DEFAULTS.colorDangerHover})`,\n },\n },\n {\n name: 'one-button-sm',\n selector: '.one-button--sm',\n properties: {\n minHeight: '32px',\n padding: `var(--one-button-padding-sm, ${ONE_THEME_DEFAULTS.spaceXs} ${ONE_THEME_DEFAULTS.spaceMd})`,\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n },\n },\n {\n name: 'one-button-md',\n selector: '.one-button--md',\n properties: {\n minHeight: '40px',\n padding: `var(--one-button-padding-md, ${ONE_THEME_DEFAULTS.spaceSm} ${ONE_THEME_DEFAULTS.spaceLg})`,\n fontSize: `var(--one-font-size-md, ${ONE_THEME_DEFAULTS.fontSizeMd})`,\n },\n },\n {\n name: 'one-button-lg',\n selector: '.one-button--lg',\n properties: {\n minHeight: '48px',\n padding: `var(--one-button-padding-lg, ${ONE_THEME_DEFAULTS.spaceMd} ${ONE_THEME_DEFAULTS.spaceLg})`,\n fontSize: `var(--one-font-size-lg, ${ONE_THEME_DEFAULTS.fontSizeLg})`,\n },\n },\n {\n name: 'one-button-disabled',\n selector: '.one-button:disabled',\n properties: {\n opacity: '0.5',\n cursor: 'not-allowed',\n },\n },\n {\n name: 'one-button-focus-visible',\n selector: '.one-button:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n },\n },\n {\n name: 'one-button-spinner',\n selector: '.one-button__spinner',\n properties: {\n width: '1em',\n height: '1em',\n border: '2px solid currentColor',\n borderRightColor: 'transparent',\n borderRadius: '50%',\n },\n },\n];\n\nexport function normalizeButtonVariant(value: unknown): OneButtonVariant {\n return ONE_BUTTON_VARIANTS.includes(value as OneButtonVariant)\n ? (value as OneButtonVariant)\n : 'primary';\n}\n\nfunction normalizeButtonType(\n value: unknown\n): NonNullable<OneButtonProps['type']> {\n return ONE_BUTTON_TYPES.includes(value as NonNullable<OneButtonProps['type']>)\n ? (value as NonNullable<OneButtonProps['type']>)\n : 'button';\n}\n\nexport class OneButton extends Component<OneButtonProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_BUTTON_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const variant = normalizeButtonVariant(this.props.variant);\n const size = normalizeOneSize(this.props.size);\n const disabled =\n this.props.disabled === true || this.props.loading === true;\n\n return {\n tag: 'button',\n props: {\n className: `one-button one-button--${variant} one-button--${size}`,\n type: normalizeButtonType(this.props.type),\n disabled,\n 'aria-busy': this.props.loading === true ? 'true' : undefined,\n },\n listeners: {\n click: (event) => {\n if (!disabled && event instanceof MouseEvent) {\n this.emit('click', event);\n }\n },\n },\n children: [\n ...(this.props.loading\n ? [\n {\n tag: 'span',\n props: {\n className: 'one-button__spinner',\n 'aria-hidden': 'true',\n },\n } as VNode,\n ]\n : []),\n ...(this.props.children ?? []),\n ],\n };\n }\n}\n",
|
|
6
6
|
"import type { StyleSheet } from '@geektech/tsone';\nimport type { StyleOptions } from '@geektech/tsone/style';\nimport type { OneComponentSize } from '../types';\n\nexport type OneNamedStyle = StyleOptions & { name: string };\n\nexport const ONE_THEME_DEFAULTS = {\n colorPrimary: '#5fd956',\n colorPrimaryHover: '#4bc944',\n colorDanger: '#b83232',\n colorDangerHover: '#9f2d2d',\n colorInfo: '#2563eb',\n colorSuccess: '#2f7c39',\n colorWarning: '#9a6700',\n colorOverlay: 'rgba(22, 32, 24, 0.48)',\n colorSurface: '#ffffff',\n colorText: '#162018',\n colorMuted: '#647268',\n colorBorder: '#d9e8d6',\n colorFocus: '#2f7c39',\n radiusSm: '4px',\n radiusMd: '8px',\n spaceXs: '4px',\n spaceSm: '8px',\n spaceMd: '12px',\n spaceLg: '16px',\n fontSizeSm: '12px',\n fontSizeMd: '14px',\n fontSizeLg: '16px',\n shadowCard: '0 12px 30px rgba(32, 74, 38, 0.1)',\n shadowOverlay: '0 18px 48px rgba(22, 32, 24, 0.2)',\n zIndexDialog: '1000',\n zIndexMessage: '1100',\n zIndexTooltip: '1200',\n fontFamily:\n \"Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\n} as const;\n\nexport const ONE_THEME_TYPOGRAPHY_PROPERTIES = Object.freeze({\n fontFamily: `var(--one-font-family, ${ONE_THEME_DEFAULTS.fontFamily})`,\n lineHeight: 'var(--one-line-height, 1.5)',\n});\n\nexport function oneThemeBorder(\n color = `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`\n): string {\n return `var(--one-border-width, 1px) var(--one-border-style, solid) ${color}`;\n}\n\nconst ONE_SIZES: readonly OneComponentSize[] = ['sm', 'md', 'lg'];\n\nexport function normalizeOneSize(value: unknown): OneComponentSize {\n return ONE_SIZES.includes(value as OneComponentSize)\n ? (value as OneComponentSize)\n : 'md';\n}\n\nexport function oneStylesToSheet(styles: readonly OneNamedStyle[]): StyleSheet {\n const sheet: StyleSheet = [];\n\n styles.forEach((style) => {\n sheet.push({ selector: style.selector, properties: style.properties });\n if (style.hover) {\n sheet.push({\n selector: `${style.selector}:hover`,\n properties: style.hover,\n });\n }\n Object.entries(style.media ?? {}).forEach(([query, properties]) => {\n sheet.push({\n atRule: `@media ${query}`,\n rules: [{ selector: style.selector, properties }],\n });\n });\n });\n\n return sheet;\n}\n",
|
|
@@ -12,18 +12,29 @@
|
|
|
12
12
|
"import { Component, slot, type VNode } from '@geektech/tsone';\nimport type { OneFieldValueEvent, OneFormFieldContext } from '../form/context';\nimport { ONE_FORM_FIELD_KEY } from '../form/context';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneCheckboxProps {\n checked?: boolean;\n defaultChecked?: boolean;\n name?: string;\n disabled?: boolean;\n required?: boolean;\n invalid?: boolean;\n ariaLabel?: string;\n children?: Array<VNode | string>;\n}\n\ninterface OneCheckboxState {\n internalChecked: boolean;\n revision: number;\n}\n\nexport const ONE_CHECKBOX_STYLES: OneNamedStyle[] = [\n {\n name: 'one-checkbox-base',\n selector: '.one-checkbox',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n gap: '8px',\n alignItems: 'center',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-checkbox-input',\n selector: '.one-checkbox__input',\n properties: {\n accentColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-checkbox-invalid',\n selector: '.one-checkbox--invalid',\n properties: {\n color: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n {\n name: 'one-checkbox-disabled',\n selector: '.one-checkbox--disabled',\n properties: { opacity: '0.5', cursor: 'not-allowed' },\n },\n];\n\nexport class OneCheckbox extends Component<OneCheckboxProps, OneCheckboxState> {\n private fieldContext: OneFormFieldContext | undefined;\n private unsubscribe: (() => void) | undefined;\n\n protected initState(): OneCheckboxState {\n return { internalChecked: this.props.defaultChecked ?? false, revision: 0 };\n }\n\n protected initStyles(): void {\n ONE_CHECKBOX_STYLES.forEach(({ name, ...style }) =>\n this.styleManager.addStyle(name, style)\n );\n }\n\n protected beforeMount(): void {\n this.fieldContext = this.inject(ONE_FORM_FIELD_KEY);\n this.fieldContext?.model.ensureValue(\n this.fieldContext.name,\n this.props.checked ?? this.props.defaultChecked ?? false\n );\n }\n\n protected onMounted(): void {\n this.unsubscribe = this.fieldContext?.model.subscribe(() => {\n this.state.revision += 1;\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.fieldContext = undefined;\n }\n\n protected onUpdated(): void {\n const element = this.getElement();\n const input =\n element instanceof HTMLElement ? element.querySelector('input') : null;\n if (input instanceof HTMLInputElement) input.checked = this.getChecked();\n }\n\n protected render(): VNode {\n void this.state.revision;\n const checked = this.getChecked();\n const invalid =\n this.props.invalid ||\n (this.fieldContext?.model.getErrors(this.fieldContext.name).length ?? 0) >\n 0;\n return {\n tag: 'label',\n props: {\n className: [\n 'one-checkbox',\n ...(invalid ? ['one-checkbox--invalid'] : []),\n ...(this.props.disabled ? ['one-checkbox--disabled'] : []),\n ].join(' '),\n },\n children: [\n {\n tag: 'input',\n props: {\n className: 'one-checkbox__input',\n type: 'checkbox',\n checked,\n name: this.fieldContext?.name ?? this.props.name,\n disabled: this.props.disabled === true,\n required: this.props.required === true,\n id: this.fieldContext?.controlId,\n 'aria-label': this.props.ariaLabel,\n 'aria-invalid': invalid ? 'true' : undefined,\n 'aria-describedby': this.fieldContext?.describedBy,\n },\n listeners: {\n input: (event) => this.emitChecked('input', event),\n change: (event) => this.emitChecked('change', event),\n },\n },\n slot('default'),\n ],\n };\n }\n\n private getChecked(): boolean {\n const value = this.fieldContext?.model.getValue(this.fieldContext.name);\n return typeof value === 'boolean'\n ? value\n : (this.props.checked ?? this.state.internalChecked);\n }\n\n private emitChecked(eventName: 'input' | 'change', event: Event): void {\n const input = event.currentTarget;\n if (!(input instanceof HTMLInputElement) || this.props.disabled) return;\n const value = input.checked;\n if (this.fieldContext)\n this.fieldContext.model.setValue(this.fieldContext.name, value);\n else if (this.props.checked === undefined)\n this.state.internalChecked = value;\n this.emit(eventName, {\n value,\n originalEvent: event,\n } satisfies OneFieldValueEvent<boolean>);\n if (!this.fieldContext && this.props.checked !== undefined)\n input.checked = this.props.checked;\n }\n}\n",
|
|
13
13
|
"import { Component, type VNode } from '@geektech/tsone';\nimport type { OneFieldValueEvent, OneFormFieldContext } from '../form/context';\nimport { ONE_FORM_FIELD_KEY } from '../form/context';\nimport type { OneSelectOption } from '../select';\nimport {\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneCheckboxGroupProps {\n options: readonly OneSelectOption[];\n value?: string[];\n defaultValue?: string[];\n name?: string;\n disabled?: boolean;\n invalid?: boolean;\n ariaLabel?: string;\n}\n\ninterface OneCheckboxGroupState {\n internalValue: string[];\n revision: number;\n}\n\nexport const ONE_CHECKBOX_GROUP_STYLES: OneNamedStyle[] = [\n {\n name: 'one-checkbox-group-base',\n selector: '.one-checkbox-group',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n },\n },\n];\n\nexport class OneCheckboxGroup extends Component<\n OneCheckboxGroupProps,\n OneCheckboxGroupState\n> {\n private fieldContext: OneFormFieldContext | undefined;\n private unsubscribe: (() => void) | undefined;\n protected initState(): OneCheckboxGroupState {\n return { internalValue: [...(this.props.defaultValue ?? [])], revision: 0 };\n }\n protected initStyles(): void {\n ONE_CHECKBOX_GROUP_STYLES.forEach(({ name, ...style }) =>\n this.styleManager.addStyle(name, style)\n );\n }\n protected beforeMount(): void {\n this.fieldContext = this.inject(ONE_FORM_FIELD_KEY);\n this.fieldContext?.model.ensureValue(\n this.fieldContext.name,\n this.props.value ?? this.props.defaultValue ?? []\n );\n }\n protected onMounted(): void {\n this.unsubscribe = this.fieldContext?.model.subscribe(() => {\n this.state.revision += 1;\n });\n }\n protected onUnmounted(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.fieldContext = undefined;\n }\n protected render(): VNode {\n void this.state.revision;\n const values = this.getValue();\n const invalid =\n this.props.invalid ||\n (this.fieldContext?.model.getErrors(this.fieldContext.name).length ?? 0) >\n 0;\n return {\n tag: 'div',\n props: {\n className: 'one-checkbox-group',\n role: 'group',\n 'aria-label': this.props.ariaLabel,\n 'aria-invalid': invalid ? 'true' : undefined,\n 'aria-describedby': this.fieldContext?.describedBy,\n },\n children: this.props.options.map((option) => ({\n tag: 'label',\n props: { className: 'one-checkbox-group__option' },\n children: [\n {\n tag: 'input',\n props: {\n type: 'checkbox',\n checked: values.includes(option.value),\n disabled: this.props.disabled || option.disabled,\n name: this.fieldContext?.name ?? this.props.name,\n },\n listeners: { change: (event) => this.toggle(option, event) },\n },\n option.label,\n ],\n })),\n };\n }\n private getValue(): string[] {\n const value = this.fieldContext?.model.getValue(this.fieldContext.name);\n return Array.isArray(value)\n ? [...value]\n : this.props.value\n ? [...this.props.value]\n : [...this.state.internalValue];\n }\n private toggle(option: OneSelectOption, event: Event): void {\n const input = event.currentTarget;\n if (\n !(input instanceof HTMLInputElement) ||\n this.props.disabled ||\n option.disabled\n )\n return;\n const current = this.getValue();\n const next = input.checked\n ? [...current, option.value]\n : current.filter((value) => value !== option.value);\n const ordered = this.props.options\n .filter((item) => new Set(next).has(item.value))\n .map((item) => item.value);\n if (this.fieldContext)\n this.fieldContext.model.setValue(this.fieldContext.name, ordered);\n else if (this.props.value === undefined) this.state.internalValue = ordered;\n this.emit('input', {\n value: ordered,\n originalEvent: event,\n } satisfies OneFieldValueEvent<string[]>);\n this.emit('change', {\n value: ordered,\n originalEvent: event,\n } satisfies OneFieldValueEvent<string[]>);\n }\n}\n",
|
|
14
14
|
"import { Component, type VNode } from '@geektech/tsone';\nimport type { OneFieldValueEvent, OneFormFieldContext } from '../form/context';\nimport { ONE_FORM_FIELD_KEY } from '../form/context';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneSwitchProps {\n checked?: boolean;\n defaultChecked?: boolean;\n name?: string;\n disabled?: boolean;\n required?: boolean;\n invalid?: boolean;\n ariaLabel?: string;\n}\ninterface OneSwitchState {\n internalChecked: boolean;\n revision: number;\n}\nexport const ONE_SWITCH_STYLES: OneNamedStyle[] = [\n {\n name: 'one-switch-base',\n selector: '.one-switch',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n alignItems: 'center',\n position: 'relative',\n width: '44px',\n height: '24px',\n borderRadius: '999px',\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n cursor: 'pointer',\n transition: '150ms ease',\n },\n },\n {\n name: 'one-switch-input',\n selector: '.one-switch__input',\n properties: {\n position: 'absolute',\n inset: '0',\n width: '100%',\n height: '100%',\n margin: '0',\n opacity: '0',\n cursor: 'inherit',\n },\n },\n {\n name: 'one-switch-thumb',\n selector: '.one-switch__thumb',\n properties: {\n width: '18px',\n height: '18px',\n marginLeft: '3px',\n borderRadius: '50%',\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n boxShadow: '0 1px 3px rgba(22, 32, 24, 0.28)',\n pointerEvents: 'none',\n transition: '150ms ease',\n },\n },\n {\n name: 'one-switch-thumb-checked',\n selector: '.one-switch--checked .one-switch__thumb',\n properties: { transform: 'translateX(20px)' },\n },\n {\n name: 'one-switch-checked',\n selector: '.one-switch--checked',\n properties: {\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-switch-invalid',\n selector: '.one-switch--invalid',\n properties: {\n outline: `2px solid var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n {\n name: 'one-switch-disabled',\n selector: '.one-switch--disabled',\n properties: { opacity: '0.5', cursor: 'not-allowed' },\n },\n {\n name: 'one-switch-focus-visible',\n selector: '.one-switch:has(.one-switch__input:focus-visible)',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n },\n },\n];\nexport class OneSwitch extends Component<OneSwitchProps, OneSwitchState> {\n private fieldContext: OneFormFieldContext | undefined;\n private unsubscribe: (() => void) | undefined;\n protected initState(): OneSwitchState {\n return { internalChecked: this.props.defaultChecked ?? false, revision: 0 };\n }\n protected initStyles(): void {\n ONE_SWITCH_STYLES.forEach(({ name, ...style }) =>\n this.styleManager.addStyle(name, style)\n );\n }\n protected beforeMount(): void {\n this.fieldContext = this.inject(ONE_FORM_FIELD_KEY);\n this.fieldContext?.model.ensureValue(\n this.fieldContext.name,\n this.props.checked ?? this.props.defaultChecked ?? false\n );\n }\n protected onMounted(): void {\n this.unsubscribe = this.fieldContext?.model.subscribe(() => {\n this.state.revision += 1;\n });\n }\n protected onUnmounted(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.fieldContext = undefined;\n }\n protected onUpdated(): void {\n const element = this.getElement();\n const input =\n element instanceof HTMLElement ? element.querySelector('input') : null;\n if (input instanceof HTMLInputElement) input.checked = this.getChecked();\n }\n protected render(): VNode {\n void this.state.revision;\n const checked = this.getChecked();\n const invalid =\n this.props.invalid ||\n (this.fieldContext?.model.getErrors(this.fieldContext.name).length ?? 0) >\n 0;\n return {\n tag: 'label',\n props: {\n className: [\n 'one-switch',\n ...(checked ? ['one-switch--checked'] : []),\n ...(invalid ? ['one-switch--invalid'] : []),\n ...(this.props.disabled ? ['one-switch--disabled'] : []),\n ].join(' '),\n role: 'switch',\n 'aria-checked': checked ? 'true' : 'false',\n },\n children: [\n {\n tag: 'input',\n props: {\n className: 'one-switch__input',\n type: 'checkbox',\n checked,\n name: this.fieldContext?.name ?? this.props.name,\n disabled: this.props.disabled === true,\n required: this.props.required === true,\n id: this.fieldContext?.controlId,\n 'aria-label': this.props.ariaLabel,\n 'aria-invalid': invalid ? 'true' : undefined,\n 'aria-describedby': this.fieldContext?.describedBy,\n },\n listeners: {\n input: (event) => this.emitChecked('input', event),\n change: (event) => this.emitChecked('change', event),\n },\n },\n {\n tag: 'span',\n props: { className: 'one-switch__thumb', 'aria-hidden': 'true' },\n },\n ],\n };\n }\n private getChecked(): boolean {\n const value = this.fieldContext?.model.getValue(this.fieldContext.name);\n return typeof value === 'boolean'\n ? value\n : (this.props.checked ?? this.state.internalChecked);\n }\n private emitChecked(eventName: 'input' | 'change', event: Event): void {\n const input = event.currentTarget;\n if (!(input instanceof HTMLInputElement) || this.props.disabled) return;\n const value = input.checked;\n if (this.fieldContext)\n this.fieldContext.model.setValue(this.fieldContext.name, value);\n else if (this.props.checked === undefined)\n this.state.internalChecked = value;\n this.emit(eventName, {\n value,\n originalEvent: event,\n } satisfies OneFieldValueEvent<boolean>);\n if (!this.fieldContext && this.props.checked !== undefined)\n input.checked = this.props.checked;\n }\n}\n",
|
|
15
|
+
"import { Component, slot, type VNode } from '@geektech/tsone';\nimport type { OneFieldValueEvent, OneFormFieldContext } from '../form/context';\nimport { ONE_FORM_FIELD_KEY } from '../form/context';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneRadioProps {\n value?: string;\n checked?: boolean;\n defaultChecked?: boolean;\n name?: string;\n disabled?: boolean;\n required?: boolean;\n invalid?: boolean;\n ariaLabel?: string;\n children?: Array<VNode | string>;\n}\n\ninterface OneRadioState {\n internalChecked: boolean;\n revision: number;\n}\n\nexport const ONE_RADIO_STYLES: OneNamedStyle[] = [\n {\n name: 'one-radio-base',\n selector: '.one-radio',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n gap: '8px',\n alignItems: 'center',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-radio-input',\n selector: '.one-radio__input',\n properties: {\n accentColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-radio-invalid',\n selector: '.one-radio--invalid',\n properties: {\n color: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n {\n name: 'one-radio-disabled',\n selector: '.one-radio--disabled',\n properties: { opacity: '0.5', cursor: 'not-allowed' },\n },\n];\n\nexport class OneRadio extends Component<OneRadioProps, OneRadioState> {\n private fieldContext: OneFormFieldContext | undefined;\n private unsubscribe: (() => void) | undefined;\n\n protected initState(): OneRadioState {\n return { internalChecked: this.props.defaultChecked ?? false, revision: 0 };\n }\n\n protected initStyles(): void {\n ONE_RADIO_STYLES.forEach(({ name, ...style }) =>\n this.styleManager.addStyle(name, style)\n );\n }\n\n protected beforeMount(): void {\n this.fieldContext = this.inject(ONE_FORM_FIELD_KEY);\n if (this.props.checked === true || this.props.defaultChecked === true) {\n this.fieldContext?.model.ensureValue(\n this.fieldContext.name,\n this.props.value ?? ''\n );\n }\n }\n\n protected onMounted(): void {\n this.unsubscribe = this.fieldContext?.model.subscribe(() => {\n this.state.revision += 1;\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.fieldContext = undefined;\n }\n\n protected onUpdated(): void {\n const element = this.getElement();\n const input =\n element instanceof HTMLElement ? element.querySelector('input') : null;\n if (input instanceof HTMLInputElement) input.checked = this.getChecked();\n }\n\n protected render(): VNode {\n void this.state.revision;\n const checked = this.getChecked();\n const invalid =\n this.props.invalid ||\n (this.fieldContext?.model.getErrors(this.fieldContext.name).length ?? 0) >\n 0;\n return {\n tag: 'label',\n props: {\n className: [\n 'one-radio',\n ...(invalid ? ['one-radio--invalid'] : []),\n ...(this.props.disabled ? ['one-radio--disabled'] : []),\n ].join(' '),\n },\n children: [\n {\n tag: 'input',\n props: {\n className: 'one-radio__input',\n type: 'radio',\n value: this.props.value,\n checked,\n name: this.fieldContext?.name ?? this.props.name,\n disabled: this.props.disabled === true,\n required: this.props.required === true,\n id: this.fieldContext?.controlId,\n 'aria-label': this.props.ariaLabel,\n 'aria-invalid': invalid ? 'true' : undefined,\n 'aria-describedby': this.fieldContext?.describedBy,\n },\n listeners: {\n input: (event) => this.emitChecked('input', event),\n change: (event) => this.emitChecked('change', event),\n },\n },\n slot('default'),\n ],\n };\n }\n\n private getChecked(): boolean {\n const value = this.fieldContext?.model.getValue(this.fieldContext.name);\n if (typeof value === 'string') return value === (this.props.value ?? '');\n return this.props.checked ?? this.state.internalChecked;\n }\n\n private emitChecked(eventName: 'input' | 'change', event: Event): void {\n const input = event.currentTarget;\n if (!(input instanceof HTMLInputElement) || this.props.disabled) return;\n const value = this.props.value ?? '';\n if (this.fieldContext)\n this.fieldContext.model.setValue(this.fieldContext.name, value);\n else if (this.props.checked === undefined)\n this.state.internalChecked = input.checked;\n this.emit(eventName, {\n value,\n originalEvent: event,\n } satisfies OneFieldValueEvent<string>);\n if (!this.fieldContext && this.props.checked !== undefined)\n input.checked = this.props.checked;\n }\n}\n",
|
|
16
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport type { OneFieldValueEvent, OneFormFieldContext } from '../form/context';\nimport { ONE_FORM_FIELD_KEY } from '../form/context';\nimport type { OneSelectOption } from '../select';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneRadioGroupProps {\n options: readonly OneSelectOption[];\n value?: string;\n defaultValue?: string;\n name?: string;\n disabled?: boolean;\n invalid?: boolean;\n ariaLabel?: string;\n}\n\ninterface OneRadioGroupState {\n internalValue: string;\n revision: number;\n}\n\nexport const ONE_RADIO_GROUP_STYLES: OneNamedStyle[] = [\n {\n name: 'one-radio-group-base',\n selector: '.one-radio-group',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n flexDirection: 'column',\n gap: '8px',\n },\n },\n {\n name: 'one-radio-group-option',\n selector: '.one-radio-group__option',\n properties: {\n display: 'inline-flex',\n gap: '8px',\n alignItems: 'center',\n },\n },\n {\n name: 'one-radio-group-input',\n selector: '.one-radio-group__option input',\n properties: {\n accentColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-radio-group-disabled',\n selector: '.one-radio-group--disabled',\n properties: { opacity: '0.5', cursor: 'not-allowed' },\n },\n];\n\nexport class OneRadioGroup extends Component<\n OneRadioGroupProps,\n OneRadioGroupState\n> {\n private fieldContext: OneFormFieldContext | undefined;\n private unsubscribe: (() => void) | undefined;\n\n protected initState(): OneRadioGroupState {\n return { internalValue: this.props.defaultValue ?? '', revision: 0 };\n }\n\n protected initStyles(): void {\n ONE_RADIO_GROUP_STYLES.forEach(({ name, ...style }) =>\n this.styleManager.addStyle(name, style)\n );\n }\n\n protected beforeMount(): void {\n this.fieldContext = this.inject(ONE_FORM_FIELD_KEY);\n this.fieldContext?.model.ensureValue(\n this.fieldContext.name,\n this.props.value ?? this.props.defaultValue ?? ''\n );\n }\n\n protected onMounted(): void {\n this.unsubscribe = this.fieldContext?.model.subscribe(() => {\n this.state.revision += 1;\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.fieldContext = undefined;\n }\n\n protected render(): VNode {\n void this.state.revision;\n const value = this.getValue();\n const invalid =\n this.props.invalid ||\n (this.fieldContext?.model.getErrors(this.fieldContext.name).length ?? 0) >\n 0;\n return {\n tag: 'div',\n props: {\n className: [\n 'one-radio-group',\n ...(this.props.disabled ? ['one-radio-group--disabled'] : []),\n ].join(' '),\n role: 'radiogroup',\n 'aria-label': this.props.ariaLabel,\n 'aria-invalid': invalid ? 'true' : undefined,\n 'aria-describedby': this.fieldContext?.describedBy,\n },\n children: this.props.options.map((option) => ({\n tag: 'label',\n props: { className: 'one-radio-group__option' },\n children: [\n {\n tag: 'input',\n props: {\n type: 'radio',\n value: option.value,\n checked: value === option.value,\n disabled: this.props.disabled || option.disabled,\n name: this.fieldContext?.name ?? this.props.name,\n },\n listeners: { change: (event) => this.select(option, event) },\n },\n option.label,\n ],\n })),\n };\n }\n\n private getValue(): string {\n const value = this.fieldContext?.model.getValue(this.fieldContext.name);\n return typeof value === 'string'\n ? value\n : this.props.value ?? this.state.internalValue;\n }\n\n private select(option: OneSelectOption, event: Event): void {\n const input = event.currentTarget;\n if (\n !(input instanceof HTMLInputElement) ||\n this.props.disabled ||\n option.disabled\n )\n return;\n if (this.fieldContext)\n this.fieldContext.model.setValue(this.fieldContext.name, option.value);\n else if (this.props.value === undefined)\n this.state.internalValue = option.value;\n this.emit('input', {\n value: option.value,\n originalEvent: event,\n } satisfies OneFieldValueEvent<string>);\n this.emit('change', {\n value: option.value,\n originalEvent: event,\n } satisfies OneFieldValueEvent<string>);\n }\n}\n",
|
|
15
17
|
"import { Component, type VNode } from '@geektech/tsone';\nimport type { OneFieldValueEvent, OneFormFieldContext } from '../form/context';\nimport { ONE_FORM_FIELD_KEY } from '../form/context';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneSelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\nexport interface OneSelectOptionGroup {\n label: string;\n options: readonly OneSelectOption[];\n}\nexport interface OneSelectProps {\n options: readonly (OneSelectOption | OneSelectOptionGroup)[];\n value?: string | string[];\n defaultValue?: string | string[];\n multiple?: boolean;\n searchable?: boolean;\n name?: string;\n placeholder?: string;\n disabled?: boolean;\n required?: boolean;\n invalid?: boolean;\n ariaLabel?: string;\n}\ninterface FlatOption extends OneSelectOption {\n group?: string;\n}\ninterface OneSelectState {\n open: boolean;\n query: string;\n activeIndex: number;\n internalValue: string | string[];\n revision: number;\n}\nexport const ONE_SELECT_STYLES: OneNamedStyle[] = [\n {\n name: 'one-select-base',\n selector: '.one-select',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n position: 'relative',\n width: '100%',\n },\n },\n {\n name: 'one-select-trigger',\n selector: '.one-select__trigger',\n properties: {\n width: '100%',\n minHeight: '40px',\n textAlign: 'left',\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n },\n },\n {\n name: 'one-select-menu',\n selector: '.one-select__menu',\n properties: {\n position: 'absolute',\n zIndex: '1',\n width: '100%',\n marginTop: '4px',\n padding: '4px',\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n },\n },\n {\n name: 'one-select-option',\n selector: '.one-select__option',\n properties: {\n display: 'block',\n width: '100%',\n padding: '8px',\n textAlign: 'left',\n backgroundColor: 'transparent',\n border: '0',\n },\n },\n {\n name: 'one-select-option-selected',\n selector: '.one-select__option--selected',\n properties: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-select-option-disabled',\n selector: '.one-select__option--disabled',\n properties: { opacity: '0.5', cursor: 'not-allowed' },\n },\n];\nfunction isGroup(\n option: OneSelectOption | OneSelectOptionGroup\n): option is OneSelectOptionGroup {\n return 'options' in option;\n}\nfunction flattenOptions(\n options: readonly (OneSelectOption | OneSelectOptionGroup)[]\n): FlatOption[] {\n return options.flatMap((option) =>\n isGroup(option)\n ? option.options.map((item) => ({ ...item, group: option.label }))\n : [option]\n );\n}\nfunction normalizeSelectValue(\n value: unknown,\n multiple: boolean\n): string | string[] {\n if (multiple)\n return Array.isArray(value) &&\n value.every((item) => typeof item === 'string')\n ? [...value]\n : [];\n return typeof value === 'string' ? value : '';\n}\nfunction matchesSearch(option: FlatOption, query: string): boolean {\n return option.label.toLowerCase().includes(query.trim().toLowerCase());\n}\nexport class OneSelect extends Component<OneSelectProps, OneSelectState> {\n private fieldContext: OneFormFieldContext | undefined;\n private unsubscribe: (() => void) | undefined;\n protected initState(): OneSelectState {\n return {\n open: false,\n query: '',\n activeIndex: 0,\n internalValue: normalizeSelectValue(\n this.props.defaultValue,\n this.props.multiple === true\n ),\n revision: 0,\n };\n }\n protected initStyles(): void {\n ONE_SELECT_STYLES.forEach(({ name, ...style }) =>\n this.styleManager.addStyle(name, style)\n );\n }\n protected beforeMount(): void {\n this.fieldContext = this.inject(ONE_FORM_FIELD_KEY);\n this.fieldContext?.model.ensureValue(\n this.fieldContext.name,\n normalizeSelectValue(\n this.props.value ?? this.props.defaultValue,\n this.props.multiple === true\n )\n );\n }\n protected onMounted(): void {\n this.unsubscribe = this.fieldContext?.model.subscribe(() => {\n this.state.revision += 1;\n });\n }\n protected onUnmounted(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.fieldContext = undefined;\n }\n protected render(): VNode {\n void this.state.revision;\n const multiple = this.props.multiple === true;\n const values = this.getValue();\n const selected = new Set(\n Array.isArray(values) ? values : values ? [values] : []\n );\n const all = flattenOptions(this.props.options);\n const visible = all.filter((option) =>\n matchesSearch(option, this.state.query)\n );\n const invalid =\n this.props.invalid ||\n (this.fieldContext?.model.getErrors(this.fieldContext.name).length ?? 0) >\n 0;\n const labels = all\n .filter((option) => selected.has(option.value))\n .map((option) => option.label);\n return {\n tag: 'div',\n props: { className: 'one-select' },\n children: [\n {\n tag: 'button',\n props: {\n type: 'button',\n className: 'one-select__trigger',\n role: 'combobox',\n disabled: this.props.disabled === true,\n id: this.fieldContext?.controlId,\n name: this.fieldContext?.name ?? this.props.name,\n 'aria-label': this.props.ariaLabel,\n 'aria-expanded': this.state.open ? 'true' : 'false',\n 'aria-controls': 'one-select-listbox',\n 'aria-invalid': invalid ? 'true' : undefined,\n 'aria-describedby': this.fieldContext?.describedBy,\n },\n children: [labels.join(', ') || this.props.placeholder || '请选择'],\n listeners: {\n click: () => {\n if (!this.props.disabled) this.state.open = !this.state.open;\n },\n keydown: (event) => this.handleKeydown(event, visible),\n },\n },\n ...(this.state.open\n ? [\n {\n tag: 'div',\n props: {\n className: 'one-select__menu',\n id: 'one-select-listbox',\n role: 'listbox',\n 'aria-multiselectable': multiple ? 'true' : undefined,\n },\n children: [\n ...(this.props.searchable\n ? [\n {\n tag: 'input',\n props: {\n type: 'search',\n value: this.state.query,\n 'aria-label': '搜索选项',\n },\n listeners: {\n input: (event) => {\n const input = event.currentTarget;\n if (input instanceof HTMLInputElement)\n this.state.query = input.value;\n },\n },\n } as VNode,\n ]\n : []),\n ...visible.flatMap((option, index) => [\n ...(option.group &&\n (index === 0 || visible[index - 1].group !== option.group)\n ? [\n {\n tag: 'div',\n props: { className: 'one-select__group' },\n children: [option.group],\n } as VNode,\n ]\n : []),\n {\n tag: 'button',\n props: {\n type: 'button',\n className: [\n 'one-select__option',\n ...(selected.has(option.value)\n ? ['one-select__option--selected']\n : []),\n ...(option.disabled\n ? ['one-select__option--disabled']\n : []),\n ].join(' '),\n role: 'option',\n disabled: option.disabled === true,\n 'aria-selected': selected.has(option.value)\n ? 'true'\n : 'false',\n },\n children: [option.label],\n listeners: {\n click: (event) => this.selectOption(option, event),\n },\n } as VNode,\n ]),\n ],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n private getValue(): string | string[] {\n const value = this.fieldContext?.model.getValue(this.fieldContext.name);\n return value !== undefined\n ? normalizeSelectValue(value, this.props.multiple === true)\n : normalizeSelectValue(\n this.props.value ?? this.state.internalValue,\n this.props.multiple === true\n );\n }\n private selectOption(option: FlatOption, event: Event): void {\n if (option.disabled) return;\n const multiple = this.props.multiple === true;\n const current = this.getValue();\n const next = multiple\n ? this.normalizeMultiple(\n [\n ...(current as string[]),\n ...(current.includes(option.value) ? [] : [option.value]),\n ],\n option.value\n )\n : option.value;\n if (multiple && (current as string[]).includes(option.value)) {\n const values = (current as string[]).filter(\n (value) => value !== option.value\n );\n this.commit(values, event);\n return;\n }\n this.commit(next, event);\n if (!multiple) this.state.open = false;\n }\n private normalizeMultiple(values: string[], _changed: string): string[] {\n const selected = new Set(values);\n return flattenOptions(this.props.options)\n .filter((option) => selected.has(option.value))\n .map((option) => option.value);\n }\n private commit(value: string | string[], event: Event): void {\n if (this.fieldContext)\n this.fieldContext.model.setValue(this.fieldContext.name, value);\n else if (this.props.value === undefined) this.state.internalValue = value;\n this.emit('input', {\n value,\n originalEvent: event,\n } satisfies OneFieldValueEvent<string | string[]>);\n this.emit('change', {\n value,\n originalEvent: event,\n } satisfies OneFieldValueEvent<string | string[]>);\n }\n private handleKeydown(event: Event, options: FlatOption[]): void {\n if (!(event instanceof KeyboardEvent)) return;\n if (event.key === 'Escape') {\n this.state.open = false;\n return;\n }\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.state.open = true;\n const direction = event.key === 'ArrowDown' ? 1 : -1;\n this.state.activeIndex =\n (this.state.activeIndex + direction + options.length) % options.length;\n return;\n }\n if (\n event.key === 'Enter' &&\n this.state.open &&\n options[this.state.activeIndex]\n ) {\n event.preventDefault();\n this.selectOption(options[this.state.activeIndex], event);\n }\n }\n}\n",
|
|
18
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeOneSize,\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\nimport type { OneComponentSize } from '../types';\nimport { ONE_FORM_FIELD_KEY } from '../form/context';\nimport type { OneFormFieldContext } from '../form/context';\n\nexport interface OneTimePickerValueEvent {\n value: string;\n originalEvent: Event;\n}\n\nexport interface OneTimePickerProps {\n value?: string;\n defaultValue?: string;\n name?: string;\n placeholder?: string;\n step?: number;\n min?: string;\n max?: string;\n size?: OneComponentSize;\n disabled?: boolean;\n readonly?: boolean;\n required?: boolean;\n invalid?: boolean;\n ariaLabel?: string;\n}\n\ninterface OneTimePickerState {\n internalValue: string;\n open: boolean;\n revision: number;\n}\n\ninterface TimeParts {\n hour: number;\n minute: number;\n second: number;\n}\n\ntype TimeColumn = 'hour' | 'minute' | 'second';\n\nexport const ONE_TIME_PICKER_STYLES: OneNamedStyle[] = [\n {\n name: 'one-time-picker-base',\n selector: '.one-time-picker',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n position: 'relative',\n width: '100%',\n },\n },\n {\n name: 'one-time-picker-input',\n selector: '.one-time-picker__input',\n properties: {\n boxSizing: 'border-box',\n width: '100%',\n border: oneThemeBorder(\n `var(--one-input-border-color, var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder}))`\n ),\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n color: `var(--one-input-color, var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText}))`,\n backgroundColor: `var(--one-input-background, var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface}))`,\n cursor: 'pointer',\n transition: '150ms ease',\n },\n },\n {\n name: 'one-time-picker-input-sm',\n selector: '.one-time-picker__input--sm',\n properties: {\n minHeight: '32px',\n padding: `var(--one-input-padding-sm, ${ONE_THEME_DEFAULTS.spaceXs} ${ONE_THEME_DEFAULTS.spaceSm})`,\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n },\n },\n {\n name: 'one-time-picker-input-md',\n selector: '.one-time-picker__input--md',\n properties: {\n minHeight: '40px',\n padding: `var(--one-input-padding-md, ${ONE_THEME_DEFAULTS.spaceSm} ${ONE_THEME_DEFAULTS.spaceMd})`,\n fontSize: `var(--one-font-size-md, ${ONE_THEME_DEFAULTS.fontSizeMd})`,\n },\n },\n {\n name: 'one-time-picker-input-lg',\n selector: '.one-time-picker__input--lg',\n properties: {\n minHeight: '48px',\n padding: `var(--one-input-padding-lg, ${ONE_THEME_DEFAULTS.spaceMd} ${ONE_THEME_DEFAULTS.spaceLg})`,\n fontSize: `var(--one-font-size-lg, ${ONE_THEME_DEFAULTS.fontSizeLg})`,\n },\n },\n {\n name: 'one-time-picker-input-invalid',\n selector: '.one-time-picker__input--invalid',\n properties: {\n borderColor: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n {\n name: 'one-time-picker-input-disabled',\n selector: '.one-time-picker__input:disabled',\n properties: {\n opacity: '0.5',\n cursor: 'not-allowed',\n },\n },\n {\n name: 'one-time-picker-input-focus-visible',\n selector: '.one-time-picker__input:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n borderColor: `var(--one-input-focus-border-color, var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus}))`,\n },\n },\n {\n name: 'one-time-picker-panel',\n selector: '.one-time-picker__panel',\n properties: {\n position: 'absolute',\n top: 'calc(100% + 4px)',\n left: '0',\n zIndex: '1',\n display: 'flex',\n gap: '8px',\n padding: '8px',\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n boxShadow: `var(--one-shadow-card, ${ONE_THEME_DEFAULTS.shadowCard})`,\n },\n },\n {\n name: 'one-time-picker-column',\n selector: '.one-time-picker__column',\n properties: {\n display: 'flex',\n flexDirection: 'column',\n gap: '2px',\n maxHeight: '240px',\n overflowY: 'auto',\n },\n },\n {\n name: 'one-time-picker-column-label',\n selector: '.one-time-picker__column-label',\n properties: {\n padding: '2px 8px',\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n },\n },\n {\n name: 'one-time-picker-option',\n selector: '.one-time-picker__option',\n properties: {\n padding: '4px 8px',\n border: '0',\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n backgroundColor: 'transparent',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n cursor: 'pointer',\n textAlign: 'center',\n },\n },\n {\n name: 'one-time-picker-option-selected',\n selector: '.one-time-picker__option--selected',\n properties: {\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n];\n\nfunction normalizeStep(value: unknown): number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n ? Math.floor(value)\n : 60;\n}\n\nfunction pad(value: number): string {\n return value < 10 ? `0${value}` : String(value);\n}\n\nfunction parseTime(value: string): TimeParts | null {\n const match = /^(\\d{1,2}):(\\d{1,2})(?::(\\d{1,2}))?$/.exec(value.trim());\n if (!match) {\n return null;\n }\n const hour = Number(match[1]);\n const minute = Number(match[2]);\n const second = match[3] === undefined ? 0 : Number(match[3]);\n if (hour > 23 || minute > 59 || second > 59) {\n return null;\n }\n return { hour, minute, second };\n}\n\nfunction formatTime(parts: TimeParts, includeSeconds: boolean): string {\n return includeSeconds\n ? `${pad(parts.hour)}:${pad(parts.minute)}:${pad(parts.second)}`\n : `${pad(parts.hour)}:${pad(parts.minute)}`;\n}\n\nexport class OneTimePicker extends Component<\n OneTimePickerProps,\n OneTimePickerState\n> {\n private fieldContext: OneFormFieldContext | undefined;\n private unsubscribe: (() => void) | undefined;\n\n protected initState(): OneTimePickerState {\n return {\n internalValue: this.props.defaultValue ?? '',\n open: false,\n revision: 0,\n };\n }\n\n protected initStyles(): void {\n ONE_TIME_PICKER_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n void this.state.revision;\n const size = normalizeOneSize(this.props.size);\n const step = normalizeStep(this.props.step);\n const includeSeconds = step < 60;\n const minuteIncrement = includeSeconds ? 1 : Math.max(1, Math.floor(step / 60));\n const fieldContext = this.fieldContext;\n const fieldErrors = fieldContext?.model.getErrors(fieldContext.name) ?? [];\n const invalid = this.props.invalid || fieldErrors.length > 0;\n const text = this.getDisplayValue();\n const parts = parseTime(text);\n const disabled = this.props.disabled === true;\n const readonly = this.props.readonly === true;\n\n const minParts = this.props.min ? parseTime(this.props.min) : undefined;\n const maxParts = this.props.max ? parseTime(this.props.max) : undefined;\n const startHour = minParts?.hour ?? 0;\n const endHour = maxParts?.hour ?? 23;\n\n const minuteStart =\n minParts && parts?.hour === minParts.hour ? minParts.minute : 0;\n const minuteEnd =\n maxParts && parts?.hour === maxParts.hour ? maxParts.minute : 59;\n const secondStart =\n minParts &&\n parts?.hour === minParts.hour &&\n parts?.minute === minParts.minute\n ? minParts.second\n : 0;\n const secondEnd =\n maxParts &&\n parts?.hour === maxParts.hour &&\n parts?.minute === maxParts.minute\n ? maxParts.second\n : 59;\n\n const inputClassNames = [\n 'one-time-picker__input',\n ...(invalid ? ['one-time-picker__input--invalid'] : []),\n `one-time-picker__input--${size}`,\n ];\n\n return {\n tag: 'div',\n props: { className: 'one-time-picker' },\n children: [\n {\n tag: 'input',\n props: {\n className: inputClassNames.join(' '),\n type: 'text',\n value: text,\n name: fieldContext?.name ?? this.props.name,\n id: fieldContext?.controlId,\n placeholder: this.props.placeholder ?? '请选择时间',\n disabled,\n readonly,\n required: this.props.required === true,\n 'aria-invalid': invalid ? 'true' : undefined,\n 'aria-expanded': this.state.open ? 'true' : 'false',\n 'aria-haspopup': 'dialog',\n 'aria-describedby': fieldContext?.describedBy,\n 'aria-label': this.props.ariaLabel,\n },\n listeners: {\n click: () => {\n if (!disabled && !readonly) {\n this.state.open = !this.state.open;\n }\n },\n keydown: (event) => this.handleKeydown(event),\n input: (event) => this.emitValue('input', event),\n change: (event) => this.emitValue('change', event),\n },\n },\n ...(this.state.open\n ? [\n {\n tag: 'div',\n props: {\n className: 'one-time-picker__panel',\n role: 'dialog',\n 'aria-label': '选择时间',\n },\n children: [\n this.buildColumn(\n '时',\n this.rangeValues(startHour, endHour, 1),\n parts?.hour,\n 'hour',\n false\n ),\n this.buildColumn(\n '分',\n this.rangeValues(minuteStart, minuteEnd, minuteIncrement),\n parts?.minute,\n 'minute',\n !includeSeconds\n ),\n ...(includeSeconds\n ? [\n this.buildColumn(\n '秒',\n this.rangeValues(secondStart, secondEnd, step),\n parts?.second,\n 'second',\n true\n ),\n ]\n : []),\n ],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n\n protected onUpdated(): void {\n if (this.fieldContext || this.props.value === undefined) {\n return;\n }\n const root = this.getElement();\n const input =\n root instanceof HTMLInputElement\n ? root\n : root instanceof HTMLElement\n ? root.querySelector('input')\n : null;\n if (input instanceof HTMLInputElement) {\n input.value = this.props.value;\n }\n }\n\n protected beforeMount(): void {\n this.fieldContext = this.inject(ONE_FORM_FIELD_KEY);\n if (this.fieldContext) {\n this.fieldContext.model.ensureValue(\n this.fieldContext.name,\n this.props.value ?? this.props.defaultValue ?? ''\n );\n }\n }\n\n protected onMounted(): void {\n this.unsubscribe = this.fieldContext?.model.subscribe(() => {\n this.state.revision += 1;\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.fieldContext = undefined;\n }\n\n private getDisplayValue(): string {\n const value = this.fieldContext\n ? this.fieldContext.model.getValue(this.fieldContext.name)\n : this.props.value ?? this.state.internalValue;\n return typeof value === 'string' ? value : '';\n }\n\n private rangeValues(start: number, end: number, increment: number): number[] {\n const values: number[] = [];\n for (let value = start; value <= end; value += increment) {\n values.push(value);\n }\n return values;\n }\n\n private buildColumn(\n label: string,\n values: number[],\n selectedValue: number | undefined,\n part: TimeColumn,\n isLast: boolean\n ): VNode {\n return {\n tag: 'div',\n props: { className: 'one-time-picker__column' },\n children: [\n {\n tag: 'div',\n props: { className: 'one-time-picker__column-label' },\n children: [label],\n },\n ...values.map(\n (value) =>\n ({\n tag: 'button',\n props: {\n type: 'button',\n className: [\n 'one-time-picker__option',\n ...(selectedValue === value\n ? ['one-time-picker__option--selected']\n : []),\n ].join(' '),\n },\n children: [pad(value)],\n listeners: {\n click: (event) =>\n this.commitPart(part, value, isLast, event),\n },\n }) as VNode\n ),\n ],\n };\n }\n\n private commitPart(\n part: TimeColumn,\n value: number,\n isLast: boolean,\n event: Event\n ): void {\n const current = parseTime(this.getDisplayValue()) ?? {\n hour: 0,\n minute: 0,\n second: 0,\n };\n const next: TimeParts = { ...current };\n if (part === 'hour') {\n next.hour = value;\n } else if (part === 'minute') {\n next.minute = value;\n } else {\n next.second = value;\n }\n const formatted = formatTime(next, normalizeStep(this.props.step) < 60);\n this.writeValue(formatted, event);\n if (isLast) {\n this.state.open = false;\n }\n }\n\n private writeValue(value: string, event: Event): void {\n if (this.fieldContext) {\n this.fieldContext.model.setValue(this.fieldContext.name, value);\n } else if (this.props.value === undefined) {\n this.state.internalValue = value;\n }\n this.emit('input', {\n value,\n originalEvent: event,\n } satisfies OneTimePickerValueEvent);\n this.emit('change', {\n value,\n originalEvent: event,\n } satisfies OneTimePickerValueEvent);\n }\n\n private handleKeydown(event: Event): void {\n if (!(event instanceof KeyboardEvent)) {\n return;\n }\n if (event.key === 'Escape') {\n this.state.open = false;\n }\n }\n\n private emitValue(eventName: 'input' | 'change', event: Event): void {\n const input = event.currentTarget;\n if (!(input instanceof HTMLInputElement)) {\n return;\n }\n\n const nextValue = input.value;\n if (this.fieldContext) {\n this.fieldContext.model.setValue(this.fieldContext.name, nextValue);\n } else if (this.props.value === undefined) {\n this.state.internalValue = nextValue;\n }\n\n this.emit(eventName, { value: nextValue, originalEvent: event });\n\n if (!this.fieldContext && this.props.value !== undefined) {\n input.value = this.props.value;\n }\n }\n}\n",
|
|
19
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneSliderValueEvent {\n value: number;\n originalEvent: Event;\n}\n\nexport interface OneSliderProps {\n value?: number;\n defaultValue?: number;\n min?: number;\n max?: number;\n step?: number;\n disabled?: boolean;\n showValue?: boolean;\n ariaLabel?: string;\n}\n\ninterface OneSliderState {\n internalValue: number;\n}\n\nexport const ONE_SLIDER_STYLES: OneNamedStyle[] = [\n {\n name: 'one-slider-base',\n selector: '.one-slider',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n alignItems: 'center',\n gap: '12px',\n width: '100%',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-slider-input',\n selector: '.one-slider__input',\n properties: {\n flex: '1',\n minWidth: '160px',\n accentColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-slider-value',\n selector: '.one-slider__value',\n properties: {\n minWidth: '3em',\n textAlign: 'right',\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n },\n },\n {\n name: 'one-slider-disabled',\n selector: '.one-slider--disabled',\n properties: { opacity: '0.5' },\n },\n];\n\nexport function normalizeOneSliderNumber(\n value: number | undefined,\n fallback: number\n): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nexport function clampOneSliderValue(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport class OneSlider extends Component<OneSliderProps, OneSliderState> {\n protected initState(): OneSliderState {\n return {\n internalValue: normalizeOneSliderNumber(this.props.defaultValue, 0),\n };\n }\n\n protected initStyles(): void {\n ONE_SLIDER_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const min = normalizeOneSliderNumber(this.props.min, 0);\n const max = normalizeOneSliderNumber(this.props.max, 100);\n const step = normalizeOneSliderNumber(this.props.step, 1);\n const rawValue = normalizeOneSliderNumber(\n this.props.value ?? this.state.internalValue,\n 0\n );\n const value = clampOneSliderValue(rawValue, min, max);\n const disabled = this.props.disabled === true;\n\n return {\n tag: 'div',\n props: {\n className: [\n 'one-slider',\n ...(disabled ? ['one-slider--disabled'] : []),\n ].join(' '),\n },\n children: [\n {\n tag: 'input',\n props: {\n className: 'one-slider__input',\n type: 'range',\n min: String(min),\n max: String(max),\n step: String(step),\n value: String(value),\n disabled,\n 'aria-label': this.props.ariaLabel,\n 'aria-valuenow': String(value),\n 'aria-valuemin': String(min),\n 'aria-valuemax': String(max),\n },\n listeners: {\n input: (event) => this.emitValue('input', event),\n change: (event) => this.emitValue('change', event),\n },\n } as VNode,\n ...(this.props.showValue\n ? [\n {\n tag: 'output',\n props: { className: 'one-slider__value' },\n children: [String(value)],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n\n private emitValue(eventName: 'input' | 'change', event: Event): void {\n const input = event.currentTarget;\n if (!(input instanceof HTMLInputElement) || this.props.disabled) return;\n const min = normalizeOneSliderNumber(this.props.min, 0);\n const max = normalizeOneSliderNumber(this.props.max, 100);\n const value = clampOneSliderValue(\n normalizeOneSliderNumber(Number(input.value), 0),\n min,\n max\n );\n if (this.props.value === undefined) {\n this.setState({ internalValue: value });\n }\n this.emit(eventName, {\n value,\n originalEvent: event,\n } satisfies OneSliderValueEvent);\n }\n}\n",
|
|
20
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneRateValueEvent {\n value: number;\n originalEvent: Event;\n}\n\nexport interface OneRateProps {\n value?: number;\n defaultValue?: number;\n count?: number;\n disabled?: boolean;\n readonly?: boolean;\n allowClear?: boolean;\n ariaLabel?: string;\n}\n\ninterface OneRateState {\n internalValue: number;\n}\n\nexport const ONE_RATE_STYLES: OneNamedStyle[] = [\n {\n name: 'one-rate-base',\n selector: '.one-rate',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2px',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-rate-star',\n selector: '.one-rate__star',\n properties: {\n appearance: 'none',\n border: 'none',\n background: 'transparent',\n padding: '2px',\n fontSize: '22px',\n lineHeight: '1',\n cursor: 'pointer',\n color: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n transition: 'color 120ms ease',\n },\n },\n {\n name: 'one-rate-star-filled',\n selector: '.one-rate__star--filled',\n properties: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-rate-star-hover',\n selector: '.one-rate__star:hover:not(:disabled)',\n properties: {\n color: `var(--one-color-primary-hover, ${ONE_THEME_DEFAULTS.colorPrimaryHover})`,\n },\n },\n {\n name: 'one-rate-readonly',\n selector: '.one-rate--readonly .one-rate__star',\n properties: { cursor: 'default' },\n },\n {\n name: 'one-rate-disabled',\n selector: '.one-rate--disabled',\n properties: { opacity: '0.5' },\n },\n];\n\nexport function normalizeOneRateValue(\n value: number | undefined,\n fallback: number\n): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nexport class OneRate extends Component<OneRateProps, OneRateState> {\n protected initState(): OneRateState {\n return {\n internalValue: normalizeOneRateValue(this.props.defaultValue, 0),\n };\n }\n\n protected initStyles(): void {\n ONE_RATE_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const count = this.getCount();\n const rawValue = normalizeOneRateValue(\n this.props.value ?? this.state.internalValue,\n 0\n );\n const value = Math.min(count, Math.max(0, rawValue));\n const disabled = this.props.disabled === true;\n const readonly = this.props.readonly === true;\n const stars: VNode[] = [];\n\n for (let index = 1; index <= count; index += 1) {\n const filled = index <= value;\n stars.push({\n tag: 'button',\n props: {\n type: 'button',\n role: 'radio',\n className: [\n 'one-rate__star',\n ...(filled ? ['one-rate__star--filled'] : []),\n ].join(' '),\n 'aria-checked': filled ? 'true' : 'false',\n 'aria-label': this.props.ariaLabel\n ? `${index} ${this.props.ariaLabel}`\n : String(index),\n disabled: disabled || undefined,\n },\n listeners: {\n click: (event) => this.emitValue(index, event),\n },\n children: ['★'],\n } as VNode);\n }\n\n return {\n tag: 'div',\n props: {\n role: 'radiogroup',\n className: [\n 'one-rate',\n ...(disabled ? ['one-rate--disabled'] : []),\n ...(readonly ? ['one-rate--readonly'] : []),\n ].join(' '),\n 'aria-label': this.props.ariaLabel,\n },\n children: stars,\n };\n }\n\n private getCount(): number {\n const count = this.props.count;\n return typeof count === 'number' && Number.isFinite(count) && count >= 1\n ? Math.floor(count)\n : 5;\n }\n\n private emitValue(index: number, event: Event): void {\n if (this.props.disabled === true || this.props.readonly === true) return;\n const value = this.getCount();\n const current = Math.min(\n value,\n Math.max(\n 0,\n normalizeOneRateValue(this.props.value ?? this.state.internalValue, 0)\n )\n );\n let next = index;\n if (this.props.allowClear === true && index === current) next = 0;\n if (this.props.value === undefined) {\n this.setState({ internalValue: next });\n }\n this.emit('change', {\n value: next,\n originalEvent: event,\n } satisfies OneRateValueEvent);\n }\n}\n",
|
|
21
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneUploadFile {\n id: string;\n name: string;\n size?: number;\n type?: string;\n}\n\nexport interface OneUploadChangeEvent {\n files: OneUploadFile[];\n originalEvent: Event;\n}\n\nexport interface OneUploadProps {\n accept?: string;\n multiple?: boolean;\n disabled?: boolean;\n max?: number;\n value?: readonly OneUploadFile[];\n defaultValue?: readonly OneUploadFile[];\n ariaLabel?: string;\n children?: Array<VNode | string>;\n}\n\ninterface OneUploadState {\n internalFiles: OneUploadFile[];\n}\n\nexport const ONE_UPLOAD_STYLES: OneNamedStyle[] = [\n {\n name: 'one-upload-base',\n selector: '.one-upload',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'flex',\n flexDirection: 'column',\n gap: `var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm})`,\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-upload-trigger',\n selector: '.one-upload__trigger',\n properties: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n alignSelf: 'flex-start',\n gap: `var(--one-space-xs, ${ONE_THEME_DEFAULTS.spaceXs})`,\n boxSizing: 'border-box',\n padding: `${ONE_THEME_DEFAULTS.spaceSm} ${ONE_THEME_DEFAULTS.spaceMd}`,\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n border: `1px dashed var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n cursor: 'pointer',\n transition: 'border-color 150ms ease, color 150ms ease',\n },\n },\n {\n name: 'one-upload-trigger-hover',\n selector: '.one-upload__trigger:hover',\n properties: {\n borderColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-upload-input',\n selector: '.one-upload__input',\n properties: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: '0',\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n whiteSpace: 'nowrap',\n border: '0',\n },\n },\n {\n name: 'one-upload-list',\n selector: '.one-upload__list',\n properties: {\n display: 'flex',\n flexDirection: 'column',\n gap: `var(--one-space-xs, ${ONE_THEME_DEFAULTS.spaceXs})`,\n },\n },\n {\n name: 'one-upload-item',\n selector: '.one-upload__item',\n properties: {\n display: 'flex',\n alignItems: 'center',\n gap: `var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm})`,\n padding: `${ONE_THEME_DEFAULTS.spaceXs} ${ONE_THEME_DEFAULTS.spaceSm}`,\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n border: oneThemeBorder(\n `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`\n ),\n },\n },\n {\n name: 'one-upload-item-name',\n selector: '.one-upload__item-name',\n properties: {\n flex: '1',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-upload-item-size',\n selector: '.one-upload__item-size',\n properties: {\n flexShrink: '0',\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n },\n },\n {\n name: 'one-upload-remove',\n selector: '.one-upload__remove',\n properties: {\n appearance: 'none',\n border: 'none',\n background: 'transparent',\n padding: '2px 6px',\n cursor: 'pointer',\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n },\n },\n {\n name: 'one-upload-remove-hover',\n selector: '.one-upload__remove:hover',\n properties: {\n color: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-upload-disabled',\n selector: '.one-upload--disabled',\n properties: { opacity: '0.5', pointerEvents: 'none' },\n },\n];\n\nlet uploadFileSequence = 0;\n\nfunction nextUploadFileId(): string {\n uploadFileSequence += 1;\n return `one-upload-${uploadFileSequence}`;\n}\n\nexport function formatOneFileSize(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n\nexport class OneUpload extends Component<OneUploadProps, OneUploadState> {\n protected initState(): OneUploadState {\n return { internalFiles: [...(this.props.defaultValue ?? [])] };\n }\n\n protected initStyles(): void {\n ONE_UPLOAD_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const disabled = this.props.disabled === true;\n const files = this.getFiles();\n const triggerLabel =\n this.props.children && this.props.children.length > 0\n ? this.props.children\n : ['选择文件'];\n\n return {\n tag: 'div',\n props: {\n className: ['one-upload', ...(disabled ? ['one-upload--disabled'] : [])].join(\n ' '\n ),\n },\n children: [\n {\n tag: 'label',\n props: { className: 'one-upload__trigger' },\n children: [\n {\n tag: 'input',\n props: {\n type: 'file',\n className: 'one-upload__input',\n accept: this.props.accept,\n multiple: this.props.multiple === true || undefined,\n disabled: this.props.disabled === true || undefined,\n 'aria-label': this.props.ariaLabel,\n },\n listeners: {\n change: (event) => this.handleFiles(event),\n },\n } as VNode,\n ...triggerLabel,\n ],\n } as VNode,\n ...(files.length > 0\n ? [\n {\n tag: 'ul',\n props: { className: 'one-upload__list' },\n children: files.map((file) => ({\n tag: 'li',\n props: { className: 'one-upload__item' },\n children: [\n {\n tag: 'span',\n props: { className: 'one-upload__item-name' },\n children: [file.name],\n },\n ...(file.size !== undefined\n ? [\n {\n tag: 'span',\n props: { className: 'one-upload__item-size' },\n children: [formatOneFileSize(file.size)],\n } as VNode,\n ]\n : []),\n {\n tag: 'button',\n props: {\n type: 'button',\n className: 'one-upload__remove',\n 'aria-label': `移除 ${file.name}`,\n disabled: this.props.disabled === true || undefined,\n },\n listeners: {\n click: () => this.removeFile(file.id),\n },\n },\n ],\n })),\n } as VNode,\n ]\n : []),\n ],\n };\n }\n\n private getFiles(): readonly OneUploadFile[] {\n return this.props.value ?? this.state.internalFiles;\n }\n\n private handleFiles(event: Event): void {\n const input = event.currentTarget;\n if (!(input instanceof HTMLInputElement) || this.props.disabled) return;\n const incoming = Array.from(input.files ?? []).map((file) => ({\n id: nextUploadFileId(),\n name: file.name,\n size: file.size,\n type: file.type,\n }));\n const current = this.getFiles();\n const merged = this.props.multiple === true\n ? [...current, ...incoming]\n : incoming;\n const max = this.props.max;\n const files =\n typeof max === 'number' && max >= 1 ? merged.slice(0, max) : merged;\n if (this.props.value === undefined) {\n this.setState({ internalFiles: files });\n }\n this.emit('change', {\n files,\n originalEvent: event,\n } satisfies OneUploadChangeEvent);\n input.value = '';\n }\n\n private removeFile(id: string): void {\n if (this.props.disabled === true) return;\n const files = this.getFiles().filter((file) => file.id !== id);\n if (this.props.value === undefined) {\n this.setState({ internalFiles: files });\n }\n this.emit('change', {\n files,\n originalEvent: new Event('change'),\n } satisfies OneUploadChangeEvent);\n }\n}\n",
|
|
16
22
|
"import { Component, slot, type VNode } from '@geektech/tsone';\nimport type { OneNavigationChangeEvent } from '../navigation';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneTabItem {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport type OneTabsChangeEvent = OneNavigationChangeEvent<string>;\n\nexport interface OneTabsProps {\n items: readonly OneTabItem[];\n value?: string;\n defaultValue?: string;\n id?: string;\n ariaLabel?: string;\n children?: Array<VNode | string>;\n}\n\ninterface OneTabsState {\n internalValue: string | undefined;\n}\n\nlet tabsInstanceId = 0;\n\nfunction createTabsId(): string {\n tabsInstanceId += 1;\n return `one-tabs-${tabsInstanceId}`;\n}\n\nfunction normalizeId(value: unknown): string {\n return typeof value === 'string' && /^[A-Za-z_][A-Za-z0-9_-]*$/.test(value)\n ? value\n : createTabsId();\n}\n\nexport const ONE_TABS_STYLES: OneNamedStyle[] = [\n {\n name: 'one-tabs-base',\n selector: '.one-tabs',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-tabs-list',\n selector: '.one-tabs__list',\n properties: {\n display: 'flex',\n overflowX: 'auto',\n borderBottom: oneThemeBorder(),\n },\n },\n {\n name: 'one-tabs-tab',\n selector: '.one-tabs__tab',\n properties: {\n position: 'relative',\n flex: '0 0 auto',\n padding: `${ONE_THEME_DEFAULTS.spaceSm} ${ONE_THEME_DEFAULTS.spaceMd}`,\n color: 'inherit',\n backgroundColor: 'transparent',\n border: '0',\n cursor: 'pointer',\n font: 'inherit',\n },\n hover: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-tabs-tab-selected',\n selector: '.one-tabs__tab[aria-selected=\"true\"]',\n properties: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-tabs-tab-selected-indicator',\n selector: '.one-tabs__tab[aria-selected=\"true\"]::after',\n properties: {\n position: 'absolute',\n right: '0',\n bottom: '-1px',\n left: '0',\n height: '2px',\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n content: '\"\"',\n },\n },\n {\n name: 'one-tabs-tab-disabled',\n selector: '.one-tabs__tab:disabled',\n properties: {\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n cursor: 'not-allowed',\n },\n },\n {\n name: 'one-tabs-tab-focus-visible',\n selector: '.one-tabs__tab:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '-2px',\n },\n },\n {\n name: 'one-tabs-panel',\n selector: '.one-tabs__panel',\n properties: {\n padding: `${ONE_THEME_DEFAULTS.spaceLg} 0`,\n },\n },\n];\n\nexport class OneTabs extends Component<OneTabsProps, OneTabsState> {\n private readonly idPrefix = normalizeId(this.props.id);\n\n protected initState(): OneTabsState {\n return { internalValue: this.props.defaultValue };\n }\n\n protected initStyles(): void {\n ONE_TABS_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const items = this.normalizedItems();\n const value = this.effectiveValue(items);\n\n return {\n tag: 'section',\n props: { className: 'one-tabs' },\n children: [\n {\n tag: 'div',\n props: {\n className: 'one-tabs__list',\n role: 'tablist',\n 'aria-label': this.props.ariaLabel,\n 'aria-orientation': 'horizontal',\n },\n children: items.map((item, index) => {\n const selected = item.value === value;\n return {\n tag: 'button',\n props: {\n className: 'one-tabs__tab',\n type: 'button',\n id: `${this.idPrefix}-tab-${index}`,\n role: 'tab',\n disabled: item.disabled === true,\n tabindex: selected ? 0 : -1,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-controls': `${this.idPrefix}-panel-${index}`,\n },\n listeners: {\n click: (event) => this.activate(item, index, event),\n keydown: (event) => this.handleKeydown(event, index),\n },\n children: [item.label],\n };\n }),\n },\n ...items.map((item, index) => ({\n tag: 'div',\n props: {\n className: 'one-tabs__panel',\n id: `${this.idPrefix}-panel-${index}`,\n role: 'tabpanel',\n hidden: item.value === value ? undefined : true,\n tabindex: 0,\n 'aria-labelledby': `${this.idPrefix}-tab-${index}`,\n },\n children: [slot(item.value)],\n })),\n ],\n };\n }\n\n private normalizedItems(): OneTabItem[] {\n const items = Array.isArray(this.props.items) ? this.props.items : [];\n const values = new Set<string>();\n return items.flatMap((item) => {\n if (\n !item ||\n typeof item.value !== 'string' ||\n typeof item.label !== 'string' ||\n values.has(item.value)\n ) {\n return [];\n }\n values.add(item.value);\n return [{ ...item, disabled: item.disabled === true }];\n });\n }\n\n private effectiveValue(items: readonly OneTabItem[]): string | undefined {\n const candidate = this.props.value ?? this.state.internalValue;\n const selected = items.find(\n (item) => item.value === candidate && !item.disabled\n );\n return selected?.value ?? items.find((item) => !item.disabled)?.value;\n }\n\n private activate(item: OneTabItem, index: number, event: Event): void {\n if (item.disabled) {\n return;\n }\n this.focusTab(index);\n if (item.value === this.effectiveValue(this.normalizedItems())) {\n return;\n }\n if (this.props.value === undefined) {\n this.state.internalValue = item.value;\n }\n this.emit('change', {\n value: item.value,\n originalEvent: event,\n } satisfies OneTabsChangeEvent);\n }\n\n private handleKeydown(event: Event, currentIndex: number): void {\n if (!(event instanceof KeyboardEvent)) {\n return;\n }\n if (!['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key)) {\n return;\n }\n const items = this.normalizedItems();\n const enabled = this.enabledIndices(items);\n if (enabled.length === 0) {\n return;\n }\n event.preventDefault();\n const currentPosition = Math.max(0, enabled.indexOf(currentIndex));\n const nextPosition =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? enabled.length - 1\n : event.key === 'ArrowRight'\n ? (currentPosition + 1) % enabled.length\n : (currentPosition - 1 + enabled.length) % enabled.length;\n const nextIndex = enabled[nextPosition];\n this.focusTab(nextIndex);\n this.activate(items[nextIndex], nextIndex, event);\n }\n\n private enabledIndices(items: readonly OneTabItem[]): number[] {\n return items.flatMap((item, index) => (item.disabled ? [] : [index]));\n }\n\n private focusTab(index: number): void {\n const element = this.getElement();\n if (!(element instanceof HTMLElement)) {\n return;\n }\n const tab =\n element.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]')[index];\n tab?.focus();\n }\n}\n",
|
|
17
23
|
"import { Component, slot, type VNode } from '@geektech/tsone';\nimport { normalizePositiveInteger } from '../navigation';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneBreadcrumbItem {\n label: string;\n href?: string;\n current?: boolean;\n}\n\nexport interface OneBreadcrumbClickEvent {\n item: OneBreadcrumbItem;\n index: number;\n originalEvent: MouseEvent;\n}\n\nexport interface OneBreadcrumbProps {\n items: readonly OneBreadcrumbItem[];\n separator?: string;\n maxItems?: number;\n ariaLabel?: string;\n children?: Array<VNode | string>;\n}\n\ninterface OneBreadcrumbState {\n expanded: boolean;\n}\n\ntype BreadcrumbToken =\n | { type: 'item'; item: OneBreadcrumbItem; index: number }\n | { type: 'collapse'; key: string };\n\nexport const ONE_BREADCRUMB_STYLES: OneNamedStyle[] = [\n {\n name: 'one-breadcrumb-base',\n selector: '.one-breadcrumb',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-breadcrumb-list',\n selector: '.one-breadcrumb__list',\n properties: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: ONE_THEME_DEFAULTS.spaceXs,\n alignItems: 'center',\n margin: '0',\n padding: '0',\n listStyle: 'none',\n },\n },\n {\n name: 'one-breadcrumb-token',\n selector: '.one-breadcrumb__item, .one-breadcrumb__collapse',\n properties: {\n display: 'inline-flex',\n gap: ONE_THEME_DEFAULTS.spaceXs,\n alignItems: 'center',\n },\n },\n {\n name: 'one-breadcrumb-link',\n selector: '.one-breadcrumb__link',\n properties: {\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n textDecoration: 'none',\n },\n hover: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-breadcrumb-link-focus-visible',\n selector: '.one-breadcrumb__link:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n },\n },\n {\n name: 'one-breadcrumb-current',\n selector: '.one-breadcrumb__current',\n properties: { fontWeight: '600' },\n },\n {\n name: 'one-breadcrumb-separator',\n selector: '.one-breadcrumb__separator',\n properties: {\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n userSelect: 'none',\n },\n },\n {\n name: 'one-breadcrumb-ellipsis',\n selector: '.one-breadcrumb__ellipsis',\n properties: {\n padding: `0 ${ONE_THEME_DEFAULTS.spaceXs}`,\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n backgroundColor: 'transparent',\n border: '0',\n cursor: 'pointer',\n font: 'inherit',\n },\n },\n {\n name: 'one-breadcrumb-ellipsis-focus-visible',\n selector: '.one-breadcrumb__ellipsis:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n },\n },\n];\n\nexport class OneBreadcrumb extends Component<\n OneBreadcrumbProps,\n OneBreadcrumbState\n> {\n protected initState(): OneBreadcrumbState {\n return { expanded: false };\n }\n\n protected initStyles(): void {\n ONE_BREADCRUMB_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const items = this.normalizedItems();\n const currentIndex = this.currentIndex(items);\n const tokens = this.tokens(items, currentIndex);\n\n return {\n tag: 'nav',\n props: {\n className: 'one-breadcrumb',\n 'aria-label': this.props.ariaLabel ?? '面包屑',\n },\n children: [\n {\n tag: 'ol',\n props: { className: 'one-breadcrumb__list' },\n children: tokens.map((token, tokenIndex) =>\n this.renderToken(\n token,\n tokenIndex < tokens.length - 1,\n currentIndex\n )\n ),\n },\n ],\n };\n }\n\n private normalizedItems(): OneBreadcrumbItem[] {\n const items = Array.isArray(this.props.items) ? this.props.items : [];\n return items.flatMap((item) =>\n item && typeof item.label === 'string' ? [{ ...item }] : []\n );\n }\n\n private currentIndex(items: readonly OneBreadcrumbItem[]): number {\n const explicit = items.findIndex((item) => item.current === true);\n return explicit >= 0 ? explicit : items.length - 1;\n }\n\n private tokens(\n items: readonly OneBreadcrumbItem[],\n currentIndex: number\n ): BreadcrumbToken[] {\n const limit = Math.max(\n 3,\n normalizePositiveInteger(this.props.maxItems, items.length || 3)\n );\n if (this.state.expanded || items.length <= limit) {\n return items.map((item, index) => ({ type: 'item', item, index }));\n }\n\n const visible = new Set([0, currentIndex, items.length - 1]);\n const candidates = items\n .map((_, index) => index)\n .filter((index) => !visible.has(index))\n .sort(\n (left, right) =>\n Math.abs(left - currentIndex) - Math.abs(right - currentIndex) ||\n left - right\n );\n candidates.slice(0, Math.max(0, limit - visible.size)).forEach((index) => {\n visible.add(index);\n });\n\n const result: BreadcrumbToken[] = [];\n let hiddenStart = -1;\n items.forEach((item, index) => {\n if (!visible.has(index)) {\n if (hiddenStart < 0) hiddenStart = index;\n return;\n }\n if (hiddenStart >= 0) {\n result.push({ type: 'collapse', key: `${hiddenStart}-${index - 1}` });\n hiddenStart = -1;\n }\n result.push({ type: 'item', item, index });\n });\n if (hiddenStart >= 0) {\n result.push({\n type: 'collapse',\n key: `${hiddenStart}-${items.length - 1}`,\n });\n }\n return result;\n }\n\n private renderToken(\n token: BreadcrumbToken,\n hasSeparator: boolean,\n currentIndex: number\n ): VNode {\n const content =\n token.type === 'collapse'\n ? this.renderCollapse()\n : this.renderItem(\n token.item,\n token.index,\n token.index === currentIndex\n );\n return {\n tag: 'li',\n props: {\n className:\n token.type === 'item'\n ? 'one-breadcrumb__item'\n : 'one-breadcrumb__collapse',\n },\n children: [content, ...(hasSeparator ? [this.renderSeparator()] : [])],\n };\n }\n\n private renderItem(\n item: OneBreadcrumbItem,\n index: number,\n current: boolean\n ): VNode {\n if (current || !item.href) {\n return {\n tag: 'span',\n props: {\n className: current\n ? 'one-breadcrumb__current'\n : 'one-breadcrumb__label',\n 'aria-current': current ? 'page' : undefined,\n },\n children: [item.label],\n };\n }\n return {\n tag: 'a',\n props: { className: 'one-breadcrumb__link', href: item.href },\n listeners: { click: (event) => this.handleItemClick(event, item, index) },\n children: [item.label],\n };\n }\n\n private renderCollapse(): VNode {\n return {\n tag: 'button',\n props: {\n className: 'one-breadcrumb__ellipsis',\n type: 'button',\n 'aria-label': '展开面包屑',\n 'aria-expanded': 'false',\n },\n listeners: { click: () => (this.state.expanded = true) },\n children: ['…'],\n };\n }\n\n private renderSeparator(): VNode {\n return {\n tag: 'span',\n props: { className: 'one-breadcrumb__separator', 'aria-hidden': 'true' },\n children: [\n this.hasSlot('separator')\n ? slot('separator')\n : (this.props.separator ?? '/'),\n ],\n };\n }\n\n private handleItemClick(\n event: Event,\n item: OneBreadcrumbItem,\n index: number\n ): void {\n if (!(event instanceof MouseEvent)) return;\n this.emit('itemClick', {\n item,\n index,\n originalEvent: event,\n } satisfies OneBreadcrumbClickEvent);\n }\n\n private hasSlot(name: string): boolean {\n return (\n this.props.children?.some(\n (child) => typeof child !== 'string' && child.slot === name\n ) ?? false\n );\n }\n}\n",
|
|
18
24
|
"export function normalizeNonNegativeInteger(\n value: unknown,\n fallback: number\n): number {\n return typeof value === 'number' && Number.isFinite(value) && value >= 0\n ? Math.floor(value)\n : Math.max(0, Math.floor(fallback));\n}\n\nexport function normalizePositiveInteger(\n value: unknown,\n fallback: number\n): number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n ? Math.floor(value)\n : Math.max(1, Math.floor(fallback));\n}\n\nexport function normalizePositiveIntegerList(\n values: unknown,\n fallback: readonly number[]\n): number[] {\n const source = Array.isArray(values) ? values : fallback;\n return [\n ...new Set(\n source\n .filter(\n (value): value is number =>\n typeof value === 'number' && Number.isFinite(value) && value > 0\n )\n .map(Math.floor)\n ),\n ];\n}\n",
|
|
19
25
|
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeNonNegativeInteger,\n normalizePositiveInteger,\n normalizePositiveIntegerList,\n} from '../navigation';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\nimport { createOnePaginationTokens } from './tokens';\n\nexport interface OnePaginationChangeEvent {\n page: number;\n pageSize: number;\n originalEvent: Event;\n}\n\nexport interface OnePaginationProps {\n total: number;\n page?: number;\n defaultPage?: number;\n pageSize?: number;\n defaultPageSize?: number;\n pageSizeOptions?: readonly number[];\n siblingCount?: number;\n showQuickJumper?: boolean;\n disabled?: boolean;\n ariaLabel?: string;\n}\n\ninterface OnePaginationState {\n internalPage: number;\n internalPageSize: number;\n jumpValue: string;\n}\n\nconst DEFAULT_PAGE_SIZE_OPTIONS = [10, 20, 50, 100] as const;\n\nexport const ONE_PAGINATION_STYLES: OneNamedStyle[] = [\n {\n name: 'one-pagination-base',\n selector: '.one-pagination',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'flex',\n flexWrap: 'wrap',\n gap: ONE_THEME_DEFAULTS.spaceSm,\n alignItems: 'center',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-pagination-pages',\n selector: '.one-pagination__pages',\n properties: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: ONE_THEME_DEFAULTS.spaceXs,\n alignItems: 'center',\n },\n },\n {\n name: 'one-pagination-button',\n selector: '.one-pagination__button',\n properties: {\n minWidth: '32px',\n height: '32px',\n padding: `0 ${ONE_THEME_DEFAULTS.spaceSm}`,\n color: 'inherit',\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n cursor: 'pointer',\n font: 'inherit',\n },\n hover: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n borderColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-pagination-button-current',\n selector: '.one-pagination__button[aria-current=\"page\"]',\n properties: {\n color: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n borderColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-pagination-button-disabled',\n selector: '.one-pagination__button:disabled',\n properties: {\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n cursor: 'not-allowed',\n opacity: '0.55',\n },\n },\n {\n name: 'one-pagination-button-focus-visible',\n selector: '.one-pagination__button:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n },\n },\n {\n name: 'one-pagination-ellipsis',\n selector: '.one-pagination__ellipsis',\n properties: {\n minWidth: '24px',\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n textAlign: 'center',\n },\n },\n {\n name: 'one-pagination-control',\n selector: '.one-pagination__size, .one-pagination__jumper',\n properties: {\n height: '32px',\n padding: `0 ${ONE_THEME_DEFAULTS.spaceSm}`,\n color: 'inherit',\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n font: 'inherit',\n },\n },\n {\n name: 'one-pagination-control-focus-visible',\n selector:\n '.one-pagination__size:focus-visible, .one-pagination__jumper:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n },\n },\n {\n name: 'one-pagination-jumper',\n selector: '.one-pagination__jumper',\n properties: { width: '80px' },\n },\n];\n\nexport class OnePagination extends Component<\n OnePaginationProps,\n OnePaginationState\n> {\n protected initState(): OnePaginationState {\n return {\n internalPage: normalizePositiveInteger(this.props.defaultPage, 1),\n internalPageSize: normalizePositiveInteger(\n this.props.defaultPageSize,\n 10\n ),\n jumpValue: '',\n };\n }\n\n protected initStyles(): void {\n ONE_PAGINATION_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const pageSize = this.effectivePageSize();\n const pageCount = this.pageCount(pageSize);\n const page = this.effectivePage(pageSize);\n const disabled = this.props.disabled === true;\n const siblingCount = normalizeNonNegativeInteger(\n this.props.siblingCount,\n 1\n );\n\n return {\n tag: 'nav',\n props: {\n className: 'one-pagination',\n 'aria-label': this.props.ariaLabel ?? '分页',\n },\n children: [\n {\n tag: 'div',\n props: { className: 'one-pagination__pages' },\n children: [\n this.renderPageButton('上一页', '‹', page - 1, page <= 1),\n ...createOnePaginationTokens(pageCount, page, siblingCount).map(\n (token) =>\n typeof token === 'number'\n ? this.renderPageButton(\n `第 ${token} 页`,\n String(token),\n token,\n false,\n token === page\n )\n : this.renderEllipsis(token)\n ),\n this.renderPageButton('下一页', '›', page + 1, page >= pageCount),\n ],\n },\n {\n tag: 'select',\n props: {\n className: 'one-pagination__size',\n value: String(pageSize),\n disabled,\n 'aria-label': '每页条数',\n },\n listeners: { change: (event) => this.handleSizeChange(event) },\n children: this.sizeOptions().map((option) => ({\n tag: 'option',\n props: {\n value: String(option),\n selected: option === pageSize,\n },\n children: [`${option} 条/页`],\n })),\n },\n ...(this.props.showQuickJumper\n ? [\n {\n tag: 'input',\n props: {\n className: 'one-pagination__jumper',\n type: 'text',\n inputmode: 'numeric',\n value: this.state.jumpValue,\n disabled,\n 'aria-label': '快速跳转页码',\n placeholder: '跳至页码',\n },\n listeners: {\n input: (event) => this.handleJumpInput(event),\n keydown: (event) => this.handleJumpKeydown(event),\n blur: (event) => this.submitJump(event),\n },\n } as VNode,\n ]\n : []),\n ],\n };\n }\n\n private effectivePageSize(): number {\n return normalizePositiveInteger(\n this.props.pageSize ?? this.state.internalPageSize,\n 10\n );\n }\n\n private pageCount(pageSize = this.effectivePageSize()): number {\n const total = normalizeNonNegativeInteger(this.props.total, 0);\n return Math.max(1, Math.ceil(total / pageSize));\n }\n\n private effectivePage(pageSize = this.effectivePageSize()): number {\n const candidate = normalizePositiveInteger(\n this.props.page ?? this.state.internalPage,\n 1\n );\n return Math.min(this.pageCount(pageSize), candidate);\n }\n\n private sizeOptions(): number[] {\n const active = this.effectivePageSize();\n const options = normalizePositiveIntegerList(\n this.props.pageSizeOptions,\n DEFAULT_PAGE_SIZE_OPTIONS\n );\n if (!options.includes(active)) options.push(active);\n return options;\n }\n\n private renderPageButton(\n ariaLabel: string,\n label: string,\n targetPage: number,\n boundaryDisabled: boolean,\n current = false\n ): VNode {\n const disabled = this.props.disabled === true || boundaryDisabled;\n return {\n tag: 'button',\n props: {\n className: 'one-pagination__button',\n type: 'button',\n disabled,\n 'aria-label': ariaLabel,\n 'aria-current': current ? 'page' : undefined,\n },\n listeners: {\n click: (event) =>\n this.requestChange(targetPage, this.effectivePageSize(), event),\n },\n children: [label],\n };\n }\n\n private renderEllipsis(token: string): VNode {\n return {\n tag: 'span',\n props: {\n className: 'one-pagination__ellipsis',\n 'aria-hidden': 'true',\n 'data-token': token,\n },\n children: ['…'],\n };\n }\n\n private handleSizeChange(event: Event): void {\n const select = event.currentTarget;\n if (!(select instanceof HTMLSelectElement) || this.props.disabled) return;\n const pageSize = normalizePositiveInteger(Number(select.value), 10);\n this.requestChange(this.effectivePage(), pageSize, event);\n }\n\n private handleJumpInput(event: Event): void {\n const input = event.currentTarget;\n if (!(input instanceof HTMLInputElement) || this.props.disabled) return;\n this.state.jumpValue = input.value;\n }\n\n private handleJumpKeydown(event: Event): void {\n if (!(event instanceof KeyboardEvent) || event.key !== 'Enter') return;\n event.preventDefault();\n this.submitJump(event);\n }\n\n private requestChange(page: number, pageSize: number, event: Event): void {\n if (this.props.disabled) return;\n const nextPageSize = normalizePositiveInteger(pageSize, 10);\n const nextPage = Math.min(\n this.pageCount(nextPageSize),\n normalizePositiveInteger(page, 1)\n );\n const currentPage = this.effectivePage();\n const currentPageSize = this.effectivePageSize();\n if (nextPage === currentPage && nextPageSize === currentPageSize) return;\n\n if (this.props.pageSize === undefined) {\n this.state.internalPageSize = nextPageSize;\n }\n if (this.props.page === undefined) {\n this.state.internalPage = nextPage;\n }\n this.emit('change', {\n page: nextPage,\n pageSize: nextPageSize,\n originalEvent: event,\n } satisfies OnePaginationChangeEvent);\n }\n\n private submitJump(event: Event): void {\n if (this.props.disabled) return;\n const value = this.state.jumpValue.trim();\n if (!value) return;\n const page = Number(value);\n this.state.jumpValue = '';\n if (event.currentTarget instanceof HTMLInputElement) {\n event.currentTarget.value = '';\n }\n if (!Number.isFinite(page)) return;\n this.requestChange(page, this.effectivePageSize(), event);\n }\n}\n",
|
|
20
26
|
"import {\n normalizeNonNegativeInteger,\n normalizePositiveInteger,\n} from '../navigation';\n\nexport type OnePaginationToken = number | 'ellipsis-start' | 'ellipsis-end';\n\nexport function createOnePaginationTokens(\n pageCount: number,\n page: number,\n siblingCount: number\n): OnePaginationToken[] {\n const normalizedCount = normalizePositiveInteger(pageCount, 1);\n const normalizedPage = Math.min(\n normalizedCount,\n normalizePositiveInteger(page, 1)\n );\n const normalizedSiblings = normalizeNonNegativeInteger(siblingCount, 1);\n const pages = new Set<number>([1, normalizedCount]);\n\n for (\n let candidate = Math.max(1, normalizedPage - normalizedSiblings);\n candidate <= Math.min(normalizedCount, normalizedPage + normalizedSiblings);\n candidate += 1\n ) {\n pages.add(candidate);\n }\n\n const sorted = [...pages].sort((left, right) => left - right);\n return sorted.flatMap((value, index): OnePaginationToken[] => {\n if (index === 0) return [value];\n const previous = sorted[index - 1];\n const gap = value - previous;\n if (gap === 2) return [previous + 1, value];\n if (gap > 2) {\n return [previous === 1 ? 'ellipsis-start' : 'ellipsis-end', value];\n }\n return [value];\n });\n}\n",
|
|
21
|
-
"export type OneComponentCategory =\n | 'basic'\n | 'form'\n | 'navigation'\n | 'data-display'\n | 'feedback';\n\nexport const ONE_COMPONENT_CATEGORIES = [\n { id: 'basic', label: '基础', components: ['OneButton'
|
|
27
|
+
"export type OneComponentCategory =\n | 'basic'\n | 'form'\n | 'navigation'\n | 'data-display'\n | 'feedback';\n\nexport const ONE_COMPONENT_CATEGORIES = [\n { id: 'basic', label: '基础', components: ['OneButton'] },\n {\n id: 'form',\n label: '表单',\n components: [\n 'OneForm',\n 'OneFormItem',\n 'OneInput',\n 'OneSelect',\n 'OneTimePicker',\n 'OneCheckbox',\n 'OneCheckboxGroup',\n 'OneRadio',\n 'OneRadioGroup',\n 'OneSwitch',\n 'OneSlider',\n 'OneRate',\n 'OneUpload',\n ],\n },\n {\n id: 'navigation',\n label: '导航',\n components: ['OneTabs', 'OneBreadcrumb', 'OnePagination'],\n },\n {\n id: 'data-display',\n label: '数据展示',\n components: [\n 'OneCard',\n 'OneAvatar',\n 'OneTag',\n 'OneBadge',\n 'OneProgress',\n 'OneEmpty',\n 'OneTable',\n 'OneCollapse',\n 'OneSkeleton',\n ],\n },\n {\n id: 'feedback',\n label: '反馈与浮层',\n components: [\n 'OneAlert',\n 'OneMessage',\n 'OneDialog',\n 'OneTooltip',\n 'OneLoading',\n ],\n },\n] as const;\n",
|
|
22
28
|
"import { Component, slot, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneCardProps {\n title?: string;\n children?: Array<VNode | string>;\n}\n\nexport const ONE_CARD_STYLES: OneNamedStyle[] = [\n {\n name: 'one-card-base',\n selector: '.one-card',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n overflow: 'hidden',\n color: `var(--one-card-color, var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText}))`,\n backgroundColor: `var(--one-card-background, var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface}))`,\n border: oneThemeBorder(\n `var(--one-card-border-color, var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder}))`\n ),\n borderRadius: `var(--one-card-radius, var(--one-radius-lg, ${ONE_THEME_DEFAULTS.radiusMd}))`,\n boxShadow: `var(--one-card-shadow, var(--one-shadow-card, ${ONE_THEME_DEFAULTS.shadowCard}))`,\n },\n },\n {\n name: 'one-card-header',\n selector: '.one-card__header',\n properties: {\n padding: `var(--one-card-header-padding, var(--one-space-lg, ${ONE_THEME_DEFAULTS.spaceLg}))`,\n borderBottom: oneThemeBorder(\n `var(--one-card-border-color, var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder}))`\n ),\n fontWeight: '500',\n },\n },\n {\n name: 'one-card-body',\n selector: '.one-card__body',\n properties: {\n padding: `var(--one-card-body-padding, var(--one-space-lg, ${ONE_THEME_DEFAULTS.spaceLg}))`,\n },\n },\n {\n name: 'one-card-footer',\n selector: '.one-card__footer',\n properties: {\n padding: `var(--one-card-footer-padding, var(--one-space-lg, ${ONE_THEME_DEFAULTS.spaceLg}))`,\n borderTop: oneThemeBorder(\n `var(--one-card-border-color, var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder}))`\n ),\n },\n },\n];\n\nfunction hasNamedSlot(\n children: Array<VNode | string>,\n name: 'header' | 'footer'\n): boolean {\n return children.some(\n (child) => typeof child !== 'string' && child.slot === name\n );\n}\n\nexport class OneCard extends Component<OneCardProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_CARD_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const children = this.props.children ?? [];\n const hasHeaderSlot = hasNamedSlot(children, 'header');\n const hasFooterSlot = hasNamedSlot(children, 'footer');\n const headerChildren = hasHeaderSlot\n ? [slot('header')]\n : this.props.title\n ? [this.props.title]\n : [];\n\n return {\n tag: 'section',\n props: { className: 'one-card' },\n children: [\n ...(headerChildren.length > 0\n ? [\n {\n tag: 'header',\n props: { className: 'one-card__header' },\n children: headerChildren,\n } as VNode,\n ]\n : []),\n {\n tag: 'div',\n props: { className: 'one-card__body' },\n children: [slot('default')],\n },\n ...(hasFooterSlot\n ? [\n {\n tag: 'footer',\n props: { className: 'one-card__footer' },\n children: [slot('footer')],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n}\n",
|
|
23
29
|
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeOneDataDisplayVariant,\n type OneDataDisplayVariant,\n} from '../data-display';\nimport {\n normalizeOneSize,\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\nimport type { OneComponentSize } from '../types';\n\nexport interface OneTagProps {\n variant?: OneDataDisplayVariant;\n size?: OneComponentSize;\n closable?: boolean;\n children?: Array<VNode | string>;\n}\n\ninterface OneTagState {\n visible: boolean;\n}\n\nexport const ONE_TAG_STYLES: OneNamedStyle[] = [\n {\n name: 'one-tag-base',\n selector: '.one-tag',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n alignItems: 'center',\n gap: ONE_THEME_DEFAULTS.spaceXs,\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n },\n },\n {\n name: 'one-tag-neutral',\n selector: '.one-tag--neutral',\n properties: {\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n borderColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-tag-primary',\n selector: '.one-tag--primary',\n properties: {\n color: `var(--one-color-primary-contrast, ${ONE_THEME_DEFAULTS.colorText})`,\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n borderColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-tag-success',\n selector: '.one-tag--success',\n properties: {\n color: `var(--one-color-success, ${ONE_THEME_DEFAULTS.colorSuccess})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n borderColor: `var(--one-color-success, ${ONE_THEME_DEFAULTS.colorSuccess})`,\n },\n },\n {\n name: 'one-tag-warning',\n selector: '.one-tag--warning',\n properties: {\n color: `var(--one-color-warning, ${ONE_THEME_DEFAULTS.colorWarning})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n borderColor: `var(--one-color-warning, ${ONE_THEME_DEFAULTS.colorWarning})`,\n },\n },\n {\n name: 'one-tag-error',\n selector: '.one-tag--error',\n properties: {\n color: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n borderColor: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n {\n name: 'one-tag-sm',\n selector: '.one-tag--sm',\n properties: {\n padding: '2px 6px',\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n },\n },\n {\n name: 'one-tag-md',\n selector: '.one-tag--md',\n properties: {\n padding: '4px 8px',\n fontSize: `var(--one-font-size-md, ${ONE_THEME_DEFAULTS.fontSizeMd})`,\n },\n },\n {\n name: 'one-tag-lg',\n selector: '.one-tag--lg',\n properties: {\n padding: '6px 10px',\n fontSize: `var(--one-font-size-lg, ${ONE_THEME_DEFAULTS.fontSizeLg})`,\n },\n },\n {\n name: 'one-tag-close',\n selector: '.one-tag__close',\n properties: {\n display: 'inline-grid',\n placeItems: 'center',\n padding: '0',\n color: 'inherit',\n backgroundColor: 'transparent',\n border: '0',\n cursor: 'pointer',\n font: 'inherit',\n lineHeight: '1',\n },\n },\n {\n name: 'one-tag-close-focus-visible',\n selector: '.one-tag__close:focus-visible',\n properties: {\n outline: `2px solid var(--one-color-focus, ${ONE_THEME_DEFAULTS.colorFocus})`,\n outlineOffset: '2px',\n },\n },\n];\n\nexport class OneTag extends Component<OneTagProps, OneTagState> {\n protected initState(): OneTagState {\n return { visible: true };\n }\n\n protected initStyles(): void {\n ONE_TAG_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n if (!this.state.visible) {\n return {\n tag: 'span',\n props: { hidden: true, 'data-one-tag-anchor': '' },\n };\n }\n\n const variant = normalizeOneDataDisplayVariant(this.props.variant);\n const size = normalizeOneSize(this.props.size);\n\n return {\n tag: 'span',\n props: {\n className: `one-tag one-tag--${variant} one-tag--${size}`,\n },\n children: [\n ...(this.props.children ?? []),\n ...(this.props.closable\n ? [\n {\n tag: 'button',\n props: {\n className: 'one-tag__close',\n type: 'button',\n 'aria-label': '关闭标签',\n },\n listeners: { click: () => this.close() },\n children: ['×'],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n\n private close(): void {\n if (!this.state.visible) {\n return;\n }\n this.emit('close');\n this.state.visible = false;\n }\n}\n",
|
|
24
30
|
"export type OneDataDisplayVariant =\n | 'neutral'\n | 'primary'\n | 'success'\n | 'warning'\n | 'error';\n\nconst VARIANTS: readonly OneDataDisplayVariant[] = [\n 'neutral',\n 'primary',\n 'success',\n 'warning',\n 'error',\n];\n\nexport function normalizeOneDataDisplayVariant(\n value: unknown,\n fallback: OneDataDisplayVariant = 'neutral'\n): OneDataDisplayVariant {\n return VARIANTS.includes(value as OneDataDisplayVariant)\n ? (value as OneDataDisplayVariant)\n : fallback;\n}\n",
|
|
25
31
|
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeOneDataDisplayVariant,\n type OneDataDisplayVariant,\n} from '../data-display';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneBadgeProps {\n value?: number | string;\n max?: number;\n dot?: boolean;\n showZero?: boolean;\n variant?: OneDataDisplayVariant;\n ariaLabel?: string;\n children?: Array<VNode | string>;\n}\n\nexport const ONE_BADGE_STYLES: OneNamedStyle[] = [\n {\n name: 'one-badge-base',\n selector: '.one-badge',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n position: 'relative',\n display: 'inline-flex',\n verticalAlign: 'middle',\n },\n },\n {\n name: 'one-badge-content',\n selector: '.one-badge__content',\n properties: {\n position: 'absolute',\n top: '0',\n right: '0',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n boxSizing: 'border-box',\n minWidth: '18px',\n height: '18px',\n padding: '0 5px',\n borderRadius: '999px',\n fontFamily: `var(--one-font-family, ${ONE_THEME_DEFAULTS.fontFamily})`,\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n lineHeight: '1',\n transform: 'translate(50%, -50%)',\n },\n },\n {\n name: 'one-badge-standalone-content',\n selector: '.one-badge--standalone .one-badge__content',\n properties: {\n position: 'static',\n transform: 'none',\n },\n },\n {\n name: 'one-badge-dot',\n selector: '.one-badge__content--dot',\n properties: {\n width: '8px',\n minWidth: '8px',\n height: '8px',\n padding: '0',\n },\n },\n {\n name: 'one-badge-neutral',\n selector: '.one-badge--neutral .one-badge__content',\n properties: {\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n border: oneThemeBorder(),\n },\n },\n {\n name: 'one-badge-primary',\n selector: '.one-badge--primary .one-badge__content',\n properties: {\n color: `var(--one-color-primary-contrast, ${ONE_THEME_DEFAULTS.colorText})`,\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-badge-success',\n selector: '.one-badge--success .one-badge__content',\n properties: {\n color: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n backgroundColor: `var(--one-color-success, ${ONE_THEME_DEFAULTS.colorSuccess})`,\n },\n },\n {\n name: 'one-badge-warning',\n selector: '.one-badge--warning .one-badge__content',\n properties: {\n color: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n backgroundColor: `var(--one-color-warning, ${ONE_THEME_DEFAULTS.colorWarning})`,\n },\n },\n {\n name: 'one-badge-error',\n selector: '.one-badge--error .one-badge__content',\n properties: {\n color: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n backgroundColor: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n];\n\nfunction normalizeMax(value: unknown): number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n ? Math.floor(value)\n : 99;\n}\n\nfunction displayValue(props: OneBadgeProps): string | undefined {\n if (props.dot) {\n return '';\n }\n if (props.value === undefined || props.value === '') {\n return undefined;\n }\n if (props.value === 0 && props.showZero !== true) {\n return undefined;\n }\n if (typeof props.value === 'number' && !Number.isFinite(props.value)) {\n return undefined;\n }\n if (typeof props.value === 'number') {\n const max = normalizeMax(props.max);\n return props.value > max ? `${max}+` : String(props.value);\n }\n return props.value;\n}\n\nexport class OneBadge extends Component<OneBadgeProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_BADGE_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const children = this.props.children ?? [];\n const standalone = children.length === 0;\n const variant = normalizeOneDataDisplayVariant(\n this.props.variant,\n 'primary'\n );\n const value = displayValue(this.props);\n const showContent = this.props.dot === true || value !== undefined;\n\n return {\n tag: 'span',\n props: {\n className: [\n 'one-badge',\n `one-badge--${variant}`,\n ...(standalone ? ['one-badge--standalone'] : []),\n ].join(' '),\n },\n children: [\n ...children,\n ...(showContent\n ? [\n {\n tag: 'span',\n props: {\n className: [\n 'one-badge__content',\n ...(this.props.dot ? ['one-badge__content--dot'] : []),\n ].join(' '),\n 'aria-label': this.props.ariaLabel,\n 'aria-hidden':\n this.props.dot && !this.props.ariaLabel\n ? 'true'\n : undefined,\n },\n children: value ? [value] : [],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n}\n",
|
|
26
|
-
"import { Component, slot, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneEmptyProps {\n description?: string;\n children?: Array<VNode | string>;\n}\n\nexport const ONE_EMPTY_STYLES: OneNamedStyle[] = [\n {\n name: 'one-empty-base',\n selector: '.one-empty',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'grid',\n justifyItems: 'center',\n gap: ONE_THEME_DEFAULTS.spaceMd,\n padding: '24px',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n textAlign: 'center',\n },\n },\n {\n name: 'one-empty-image',\n selector: '.one-empty__image',\n properties: {\n display: 'grid',\n placeItems: 'center',\n minHeight: '56px',\n },\n },\n {\n name: 'one-empty-illustration',\n selector: '.one-empty__illustration',\n properties: {\n display: '
|
|
32
|
+
"import { Component, slot, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneEmptyProps {\n description?: string;\n children?: Array<VNode | string>;\n}\n\nexport const ONE_EMPTY_STYLES: OneNamedStyle[] = [\n {\n name: 'one-empty-base',\n selector: '.one-empty',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'grid',\n justifyItems: 'center',\n gap: ONE_THEME_DEFAULTS.spaceMd,\n padding: '24px',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n textAlign: 'center',\n },\n },\n {\n name: 'one-empty-image',\n selector: '.one-empty__image',\n properties: {\n display: 'grid',\n placeItems: 'center',\n minHeight: '56px',\n },\n },\n {\n name: 'one-empty-illustration',\n selector: '.one-empty__illustration',\n properties: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '4px',\n width: '48px',\n height: '36px',\n boxSizing: 'border-box',\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n border: `2px solid var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n },\n },\n {\n name: 'one-empty-illustration-line',\n selector: '.one-empty__illustration-line',\n properties: {\n display: 'block',\n width: '20px',\n height: '3px',\n borderRadius: '999px',\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-empty-illustration-line-short',\n selector: '.one-empty__illustration-line--short',\n properties: { width: '12px' },\n },\n {\n name: 'one-empty-description',\n selector: '.one-empty__description',\n properties: {\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n fontSize: `var(--one-font-size-md, ${ONE_THEME_DEFAULTS.fontSizeMd})`,\n },\n },\n {\n name: 'one-empty-actions',\n selector: '.one-empty__actions',\n properties: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: ONE_THEME_DEFAULTS.spaceSm,\n },\n },\n];\n\nfunction hasNamedSlot(\n children: Array<VNode | string>,\n name: 'image' | 'actions'\n): boolean {\n return children.some(\n (child) => typeof child !== 'string' && child.slot === name\n );\n}\n\nfunction hasDefaultSlot(children: Array<VNode | string>): boolean {\n return children.some(\n (child) => typeof child === 'string' || child.slot === undefined\n );\n}\n\nexport class OneEmpty extends Component<OneEmptyProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_EMPTY_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const children = this.props.children ?? [];\n const customImage = hasNamedSlot(children, 'image');\n const customDescription = hasDefaultSlot(children);\n const customActions = hasNamedSlot(children, 'actions');\n\n return {\n tag: 'section',\n props: { className: 'one-empty' },\n children: [\n {\n tag: 'div',\n props: {\n className: 'one-empty__image',\n 'aria-hidden': customImage ? undefined : 'true',\n },\n children: customImage\n ? [slot('image')]\n : [\n {\n tag: 'span',\n props: { className: 'one-empty__illustration' },\n children: [\n {\n tag: 'span',\n props: { className: 'one-empty__illustration-line' },\n },\n {\n tag: 'span',\n props: {\n className:\n 'one-empty__illustration-line one-empty__illustration-line--short',\n },\n },\n ],\n },\n ],\n },\n {\n tag: 'div',\n props: { className: 'one-empty__description' },\n children: customDescription\n ? [slot('default')]\n : [this.props.description ?? '暂无数据'],\n },\n ...(customActions\n ? [\n {\n tag: 'div',\n props: { className: 'one-empty__actions' },\n children: [slot('actions')],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n}\n",
|
|
33
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeOneDataDisplayVariant,\n type OneDataDisplayVariant,\n} from '../data-display';\nimport {\n normalizeOneSize,\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\nimport type { OneComponentSize } from '../types';\n\nexport type OneAvatarShape = 'circle' | 'square';\n\nexport interface OneAvatarProps {\n src?: string;\n alt?: string;\n text?: string;\n size?: OneComponentSize;\n shape?: OneAvatarShape;\n variant?: OneDataDisplayVariant;\n ariaLabel?: string;\n children?: Array<VNode | string>;\n}\n\nexport const ONE_AVATAR_STYLES: OneNamedStyle[] = [\n {\n name: 'one-avatar-base',\n selector: '.one-avatar',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n boxSizing: 'border-box',\n color: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n backgroundColor: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n verticalAlign: 'middle',\n },\n },\n {\n name: 'one-avatar-sm',\n selector: '.one-avatar--sm',\n properties: {\n width: '24px',\n height: '24px',\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n },\n },\n {\n name: 'one-avatar-md',\n selector: '.one-avatar--md',\n properties: {\n width: '32px',\n height: '32px',\n fontSize: `var(--one-font-size-md, ${ONE_THEME_DEFAULTS.fontSizeMd})`,\n },\n },\n {\n name: 'one-avatar-lg',\n selector: '.one-avatar--lg',\n properties: {\n width: '40px',\n height: '40px',\n fontSize: `var(--one-font-size-lg, ${ONE_THEME_DEFAULTS.fontSizeLg})`,\n },\n },\n {\n name: 'one-avatar-circle',\n selector: '.one-avatar--circle',\n properties: { borderRadius: '50%' },\n },\n {\n name: 'one-avatar-square',\n selector: '.one-avatar--square',\n properties: {\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n },\n },\n {\n name: 'one-avatar-neutral',\n selector: '.one-avatar--neutral',\n properties: {\n backgroundColor: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n },\n },\n {\n name: 'one-avatar-primary',\n selector: '.one-avatar--primary',\n properties: {\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-avatar-success',\n selector: '.one-avatar--success',\n properties: {\n backgroundColor: `var(--one-color-success, ${ONE_THEME_DEFAULTS.colorSuccess})`,\n },\n },\n {\n name: 'one-avatar-warning',\n selector: '.one-avatar--warning',\n properties: {\n backgroundColor: `var(--one-color-warning, ${ONE_THEME_DEFAULTS.colorWarning})`,\n },\n },\n {\n name: 'one-avatar-error',\n selector: '.one-avatar--error',\n properties: {\n backgroundColor: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n {\n name: 'one-avatar-img',\n selector: '.one-avatar__img',\n properties: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n },\n {\n name: 'one-avatar-fallback',\n selector: '.one-avatar__fallback',\n properties: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: `0 ${ONE_THEME_DEFAULTS.spaceXs}`,\n lineHeight: '1',\n },\n },\n];\n\nfunction normalizeOneAvatarShape(value: unknown): OneAvatarShape {\n return value === 'square' ? 'square' : 'circle';\n}\n\nexport class OneAvatar extends Component<OneAvatarProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_AVATAR_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const size = normalizeOneSize(this.props.size);\n const shape = normalizeOneAvatarShape(this.props.shape);\n const variant = normalizeOneDataDisplayVariant(this.props.variant);\n const hasImage = Boolean(this.props.src);\n const fallback =\n this.props.children && this.props.children.length > 0\n ? this.props.children\n : this.props.text\n ? [this.props.text]\n : [];\n\n return {\n tag: 'span',\n props: {\n className: `one-avatar one-avatar--${size} one-avatar--${shape} one-avatar--${variant}`,\n role: this.props.ariaLabel ? 'img' : undefined,\n 'aria-label': this.props.ariaLabel,\n },\n children: hasImage\n ? [\n {\n tag: 'img',\n props: {\n className: 'one-avatar__img',\n src: this.props.src,\n alt: this.props.alt,\n },\n } as VNode,\n ]\n : [\n {\n tag: 'span',\n props: { className: 'one-avatar__fallback' },\n children: fallback,\n } as VNode,\n ],\n };\n }\n}\n",
|
|
34
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeOneDataDisplayVariant,\n type OneDataDisplayVariant,\n} from '../data-display';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneProgressProps {\n percent?: number;\n variant?: OneDataDisplayVariant;\n showText?: boolean;\n ariaLabel?: string;\n}\n\nexport const ONE_PROGRESS_STYLES: OneNamedStyle[] = [\n {\n name: 'one-progress-base',\n selector: '.one-progress',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'flex',\n alignItems: 'center',\n gap: `var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm})`,\n },\n },\n {\n name: 'one-progress-track',\n selector: '.one-progress__track',\n properties: {\n flex: '1',\n height: '8px',\n overflow: 'hidden',\n borderRadius: '999px',\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-progress-bar',\n selector: '.one-progress__bar',\n properties: {\n height: '100%',\n borderRadius: '999px',\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n transition: 'width 150ms ease',\n },\n },\n {\n name: 'one-progress-neutral',\n selector: '.one-progress__bar--neutral',\n properties: {\n backgroundColor: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n },\n },\n {\n name: 'one-progress-primary',\n selector: '.one-progress__bar--primary',\n properties: {\n backgroundColor: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-progress-success',\n selector: '.one-progress__bar--success',\n properties: {\n backgroundColor: `var(--one-color-success, ${ONE_THEME_DEFAULTS.colorSuccess})`,\n },\n },\n {\n name: 'one-progress-warning',\n selector: '.one-progress__bar--warning',\n properties: {\n backgroundColor: `var(--one-color-warning, ${ONE_THEME_DEFAULTS.colorWarning})`,\n },\n },\n {\n name: 'one-progress-error',\n selector: '.one-progress__bar--error',\n properties: {\n backgroundColor: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n {\n name: 'one-progress-text',\n selector: '.one-progress__text',\n properties: {\n minWidth: '3em',\n textAlign: 'right',\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n },\n },\n];\n\nfunction normalizePercent(value: unknown): number {\n if (typeof value !== 'number' || !Number.isFinite(value)) return 0;\n return Math.min(100, Math.max(0, value));\n}\n\nexport class OneProgress extends Component<OneProgressProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_PROGRESS_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const percent = normalizePercent(this.props.percent);\n const rounded = Math.round(percent);\n const variant = normalizeOneDataDisplayVariant(\n this.props.variant,\n 'primary'\n );\n\n return {\n tag: 'div',\n props: {\n className: 'one-progress',\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n 'aria-valuenow': String(rounded),\n 'aria-valuetext': `${rounded}%`,\n 'aria-label': this.props.ariaLabel,\n },\n children: [\n {\n tag: 'div',\n props: { className: 'one-progress__track' },\n children: [\n {\n tag: 'div',\n props: {\n className: `one-progress__bar one-progress__bar--${variant}`,\n style: { width: `${percent}%` },\n },\n } as VNode,\n ],\n } as VNode,\n ...(this.props.showText\n ? [\n {\n tag: 'span',\n props: { className: 'one-progress__text' },\n children: [`${rounded}%`],\n } as VNode,\n ]\n : []),\n ],\n };\n }\n}\n",
|
|
35
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport type OneTableRow = Record<string, unknown>;\n\nexport interface OneTableColumn<T extends OneTableRow = OneTableRow> {\n key: string;\n title?: string;\n render?: (row: T) => VNode | string | number | boolean | null | undefined;\n}\n\nexport interface OneTableProps<T extends OneTableRow = OneTableRow> {\n data?: readonly T[];\n columns?: readonly OneTableColumn<T>[];\n rowKey?: string;\n striped?: boolean;\n hover?: boolean;\n emptyText?: string;\n ariaLabel?: string;\n}\n\nexport const ONE_TABLE_STYLES: OneNamedStyle[] = [\n {\n name: 'one-table-wrap',\n selector: '.one-table__wrap',\n properties: {\n width: '100%',\n overflowX: 'auto',\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n },\n },\n {\n name: 'one-table-base',\n selector: '.one-table',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n width: '100%',\n borderCollapse: 'collapse',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-table-head',\n selector: '.one-table__head',\n properties: {\n padding: `${ONE_THEME_DEFAULTS.spaceSm} ${ONE_THEME_DEFAULTS.spaceMd}`,\n textAlign: 'left',\n borderBottom: `2px solid var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n fontWeight: '600',\n whiteSpace: 'nowrap',\n },\n },\n {\n name: 'one-table-cell',\n selector: '.one-table__cell',\n properties: {\n padding: `${ONE_THEME_DEFAULTS.spaceSm} ${ONE_THEME_DEFAULTS.spaceMd}`,\n borderBottom: oneThemeBorder(),\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n verticalAlign: 'middle',\n },\n },\n {\n name: 'one-table-row-hover',\n selector: '.one-table--hover tbody tr:hover',\n properties: {\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-table-row-striped',\n selector: '.one-table--striped tbody tr:nth-child(even)',\n properties: {\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-table-empty',\n selector: '.one-table__empty',\n properties: {\n padding: `${ONE_THEME_DEFAULTS.spaceLg}`,\n textAlign: 'center',\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n },\n },\n];\n\nfunction isVNodeLike(value: object): boolean {\n return 'tag' in value || 'component' in value;\n}\n\nexport class OneTable extends Component<OneTableProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_TABLE_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const data = this.props.data ?? [];\n const columns = this.resolveColumns(data);\n const rowKey = this.props.rowKey;\n\n const headRows = columns.map((column) => ({\n tag: 'th',\n props: {\n scope: 'col',\n className: 'one-table__head',\n },\n children: [column.title ?? column.key],\n }));\n\n const bodyRows = data.map((row, index) => {\n const keyValue = rowKey ? row[rowKey] : undefined;\n const key =\n typeof keyValue === 'string' || typeof keyValue === 'number'\n ? String(keyValue)\n : String(index);\n return {\n tag: 'tr',\n key,\n children: columns.map((column) => ({\n tag: 'td',\n props: { className: 'one-table__cell' },\n children: [this.renderCell(column, row)],\n })),\n };\n });\n\n const body =\n bodyRows.length > 0\n ? bodyRows\n : [\n {\n tag: 'tr',\n children: [\n {\n tag: 'td',\n props: {\n className: 'one-table__empty',\n colSpan: Math.max(columns.length, 1),\n },\n children: [this.props.emptyText ?? '暂无数据'],\n },\n ],\n },\n ];\n\n return {\n tag: 'div',\n props: { className: 'one-table__wrap' },\n children: [\n {\n tag: 'table',\n props: {\n className: [\n 'one-table',\n ...(this.props.hover === true ? ['one-table--hover'] : []),\n ...(this.props.striped === true ? ['one-table--striped'] : []),\n ].join(' '),\n 'aria-label': this.props.ariaLabel,\n },\n children: [\n {\n tag: 'thead',\n children: [\n {\n tag: 'tr',\n children: headRows,\n } as VNode,\n ],\n } as VNode,\n { tag: 'tbody', children: body },\n ],\n } as VNode,\n ],\n };\n }\n\n private resolveColumns(data: readonly OneTableRow[]): OneTableColumn[] {\n if (this.props.columns && this.props.columns.length > 0) {\n return this.props.columns as OneTableColumn[];\n }\n const first = data[0];\n if (!first) return [];\n return Object.keys(first).map((key) => ({ key }));\n }\n\n private renderCell(\n column: OneTableColumn,\n row: OneTableRow\n ): VNode | string {\n const value = column.render ? column.render(row) : row[column.key];\n return this.normalizeCell(value);\n }\n\n private normalizeCell(value: unknown): VNode | string {\n if (value == null) return '';\n if (typeof value === 'object') {\n return isVNodeLike(value) ? (value as VNode) : '';\n }\n return String(value);\n }\n}\n",
|
|
36
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n oneThemeBorder,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneCollapseItem {\n value: string;\n title: string;\n children?: Array<VNode | string>;\n disabled?: boolean;\n}\n\nexport interface OneCollapseChangeEvent {\n value: string[];\n originalEvent: Event;\n}\n\nexport interface OneCollapseProps {\n items?: readonly OneCollapseItem[];\n defaultActive?: readonly string[];\n active?: readonly string[];\n accordion?: boolean;\n ariaLabel?: string;\n}\n\ninterface OneCollapseState {\n internalActive: string[];\n}\n\nexport const ONE_COLLAPSE_STYLES: OneNamedStyle[] = [\n {\n name: 'one-collapse-base',\n selector: '.one-collapse',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n border: oneThemeBorder(),\n borderRadius: `var(--one-radius-md, ${ONE_THEME_DEFAULTS.radiusMd})`,\n overflow: 'hidden',\n backgroundColor: `var(--one-color-surface, ${ONE_THEME_DEFAULTS.colorSurface})`,\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-collapse-item',\n selector: '.one-collapse__item',\n properties: {\n borderBottom: oneThemeBorder(),\n },\n },\n {\n name: 'one-collapse-item-last',\n selector: '.one-collapse__item:last-child',\n properties: { borderBottom: 'none' },\n },\n {\n name: 'one-collapse-header',\n selector: '.one-collapse__header',\n properties: {\n display: 'flex',\n width: '100%',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: `var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm})`,\n padding: `${ONE_THEME_DEFAULTS.spaceSm} ${ONE_THEME_DEFAULTS.spaceMd}`,\n backgroundColor: 'transparent',\n border: '0',\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n cursor: 'pointer',\n font: 'inherit',\n textAlign: 'left',\n },\n },\n {\n name: 'one-collapse-header-hover',\n selector: '.one-collapse__header:hover:not(:disabled)',\n properties: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-collapse-header-icon',\n selector: '.one-collapse__header-icon',\n properties: {\n flexShrink: '0',\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n transition: 'transform 150ms ease',\n },\n },\n {\n name: 'one-collapse-item-open-icon',\n selector: '.one-collapse__item--open .one-collapse__header-icon',\n properties: { transform: 'rotate(180deg)' },\n },\n {\n name: 'one-collapse-panel',\n selector: '.one-collapse__panel',\n properties: {\n padding: `0 ${ONE_THEME_DEFAULTS.spaceMd} ${ONE_THEME_DEFAULTS.spaceMd}`,\n borderTop: oneThemeBorder(),\n color: `var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText})`,\n },\n },\n {\n name: 'one-collapse-disabled',\n selector: '.one-collapse__item--disabled .one-collapse__header',\n properties: {\n opacity: '0.5',\n cursor: 'not-allowed',\n },\n },\n];\n\nexport class OneCollapse extends Component<OneCollapseProps, OneCollapseState> {\n protected initState(): OneCollapseState {\n return { internalActive: [...(this.props.defaultActive ?? [])] };\n }\n\n protected initStyles(): void {\n ONE_COLLAPSE_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const active = this.getActive();\n const items = this.props.items ?? [];\n\n return {\n tag: 'div',\n props: {\n className: 'one-collapse',\n 'aria-label': this.props.ariaLabel,\n },\n children: items.map((item) => {\n const open = active.includes(item.value);\n const disabled = item.disabled === true;\n const panelId = `one-collapse-panel-${item.value}`;\n const headerId = `one-collapse-header-${item.value}`;\n return {\n tag: 'div',\n props: {\n className: [\n 'one-collapse__item',\n ...(open ? ['one-collapse__item--open'] : []),\n ...(disabled ? ['one-collapse__item--disabled'] : []),\n ].join(' '),\n },\n children: [\n {\n tag: 'button',\n props: {\n type: 'button',\n id: headerId,\n className: 'one-collapse__header',\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-controls': panelId,\n disabled: disabled || undefined,\n },\n listeners: {\n click: (event) => this.toggle(item.value, event),\n },\n children: [\n {\n tag: 'span',\n props: { className: 'one-collapse__header-title' },\n children: [item.title],\n },\n {\n tag: 'span',\n props: {\n className: 'one-collapse__header-icon',\n 'aria-hidden': 'true',\n },\n children: ['▾'],\n },\n ],\n },\n {\n tag: 'section',\n props: {\n id: panelId,\n className: 'one-collapse__panel',\n role: 'region',\n 'aria-labelledby': headerId,\n hidden: open ? undefined : true,\n },\n children: item.children ?? [],\n },\n ],\n };\n }),\n };\n }\n\n private getActive(): readonly string[] {\n return this.props.active ?? this.state.internalActive;\n }\n\n private toggle(value: string, event: Event): void {\n const item = (this.props.items ?? []).find(\n (candidate) => candidate.value === value\n );\n if (item?.disabled === true) return;\n const current = this.getActive();\n let next: string[];\n if (this.props.accordion === true) {\n next = current.includes(value) ? [] : [value];\n } else if (current.includes(value)) {\n next = current.filter((candidate) => candidate !== value);\n } else {\n next = [...current, value];\n }\n if (this.props.active === undefined) {\n this.setState({ internalActive: next });\n }\n this.emit('change', {\n value: next,\n originalEvent: event,\n } satisfies OneCollapseChangeEvent);\n }\n}\n",
|
|
37
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface OneSkeletonProps {\n rows?: number;\n title?: boolean;\n avatar?: boolean;\n animated?: boolean;\n widths?: readonly string[];\n ariaLabel?: string;\n}\n\nexport const ONE_SKELETON_STYLES: OneNamedStyle[] = [\n {\n name: 'one-skeleton-base',\n selector: '.one-skeleton',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'flex',\n flexDirection: 'column',\n gap: `var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm})`,\n width: '100%',\n },\n },\n {\n name: 'one-skeleton-avatar',\n selector: '.one-skeleton__avatar',\n properties: {\n width: '40px',\n height: '40px',\n flexShrink: '0',\n borderRadius: '50%',\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-skeleton-title',\n selector: '.one-skeleton__title',\n properties: {\n width: '40%',\n height: '16px',\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-skeleton-line',\n selector: '.one-skeleton__line',\n properties: {\n height: '12px',\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n backgroundColor: `var(--one-color-border, ${ONE_THEME_DEFAULTS.colorBorder})`,\n },\n },\n {\n name: 'one-skeleton-line-spacing',\n selector: '.one-skeleton__line + .one-skeleton__line',\n properties: { marginTop: `var(--one-space-xs, ${ONE_THEME_DEFAULTS.spaceXs})` },\n },\n {\n name: 'one-skeleton-animated',\n selector:\n '.one-skeleton--animated .one-skeleton__avatar, .one-skeleton--animated .one-skeleton__title, .one-skeleton--animated .one-skeleton__line',\n properties: {\n animation: 'one-skeleton-pulse 1.5s ease-in-out infinite',\n },\n },\n];\n\nexport class OneSkeleton extends Component<OneSkeletonProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_SKELETON_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const rows =\n typeof this.props.rows === 'number' && this.props.rows >= 0\n ? Math.floor(this.props.rows)\n : 3;\n const showTitle = this.props.title !== false;\n const showAvatar = this.props.avatar === true;\n const animated = this.props.animated !== false;\n const widths = this.props.widths ?? ['100%', '92%', '60%'];\n const decorative = { 'aria-hidden': 'true' } as const;\n\n return {\n tag: 'div',\n props: {\n className: [\n 'one-skeleton',\n ...(animated ? ['one-skeleton--animated'] : []),\n ].join(' '),\n role: 'status',\n 'aria-busy': 'true',\n 'aria-label': this.props.ariaLabel ?? '加载中',\n },\n children: [\n ...(showAvatar\n ? [\n {\n tag: 'div',\n props: { className: 'one-skeleton__avatar', ...decorative },\n } as VNode,\n ]\n : []),\n ...(showTitle\n ? [\n {\n tag: 'div',\n props: { className: 'one-skeleton__title', ...decorative },\n } as VNode,\n ]\n : []),\n ...(rows > 0\n ? [\n {\n tag: 'div',\n props: { className: 'one-skeleton__paragraph', ...decorative },\n children: Array.from({ length: rows }, (_, index) => ({\n tag: 'div',\n props: {\n className: 'one-skeleton__line',\n style: { width: widths[index % widths.length] },\n },\n })),\n } as VNode,\n ]\n : []),\n ],\n };\n }\n}\n",
|
|
27
38
|
"import { ONE_THEME_DEFAULTS } from '../styles/shared';\nimport type { OneResolvedTheme } from './types';\n\nexport const ONE_DEFAULT_THEME: OneResolvedTheme = Object.freeze({\n colors: Object.freeze({\n primary: ONE_THEME_DEFAULTS.colorPrimary,\n primaryHover: ONE_THEME_DEFAULTS.colorPrimaryHover,\n primaryContrast: ONE_THEME_DEFAULTS.colorText,\n secondary: ONE_THEME_DEFAULTS.colorSurface,\n secondaryHover: ONE_THEME_DEFAULTS.colorBorder,\n secondaryContrast: ONE_THEME_DEFAULTS.colorText,\n danger: ONE_THEME_DEFAULTS.colorDanger,\n dangerHover: ONE_THEME_DEFAULTS.colorDangerHover,\n dangerContrast: ONE_THEME_DEFAULTS.colorSurface,\n info: ONE_THEME_DEFAULTS.colorInfo,\n success: ONE_THEME_DEFAULTS.colorSuccess,\n warning: ONE_THEME_DEFAULTS.colorWarning,\n overlay: ONE_THEME_DEFAULTS.colorOverlay,\n surface: ONE_THEME_DEFAULTS.colorSurface,\n text: ONE_THEME_DEFAULTS.colorText,\n muted: ONE_THEME_DEFAULTS.colorMuted,\n focus: ONE_THEME_DEFAULTS.colorFocus,\n }),\n typography: Object.freeze({\n fontFamily: ONE_THEME_DEFAULTS.fontFamily,\n fontSizeSm: ONE_THEME_DEFAULTS.fontSizeSm,\n fontSizeMd: ONE_THEME_DEFAULTS.fontSizeMd,\n fontSizeLg: ONE_THEME_DEFAULTS.fontSizeLg,\n lineHeight: '1.5',\n }),\n border: Object.freeze({\n color: ONE_THEME_DEFAULTS.colorBorder,\n width: '1px',\n style: 'solid',\n }),\n radius: Object.freeze({\n sm: ONE_THEME_DEFAULTS.radiusSm,\n md: ONE_THEME_DEFAULTS.radiusMd,\n lg: ONE_THEME_DEFAULTS.radiusMd,\n }),\n});\n",
|
|
28
39
|
"export class OneThemeConfigError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'OneThemeConfigError';\n }\n}\n\nexport class OneThemeNotFoundError extends Error {\n constructor(themeName: string) {\n super(`One UI theme \"${themeName}\" is not registered.`);\n this.name = 'OneThemeNotFoundError';\n }\n}\n\nexport class OneThemeEnvironmentError extends Error {\n constructor() {\n super('One UI themes require a browser document root.');\n this.name = 'OneThemeEnvironmentError';\n }\n}\n",
|
|
29
40
|
"import { ONE_DEFAULT_THEME } from './default-theme';\nimport { OneThemeConfigError } from './errors';\nimport type {\n OneResolvedTheme,\n OneThemeDefinition,\n OneThemeInitOptions,\n} from './types';\n\nexport interface NormalizedOneThemeOptions {\n readonly themes: Readonly<Record<string, OneResolvedTheme>>;\n readonly defaultTheme: string;\n}\n\nconst OPTION_KEYS = ['themes', 'defaultTheme'] as const;\nconst DEFINITION_KEYS = ['colors', 'typography', 'border', 'radius'] as const;\nconst COLOR_KEYS = [\n 'primary',\n 'primaryHover',\n 'primaryContrast',\n 'secondary',\n 'secondaryHover',\n 'secondaryContrast',\n 'danger',\n 'dangerHover',\n 'dangerContrast',\n 'info',\n 'success',\n 'warning',\n 'overlay',\n 'surface',\n 'text',\n 'muted',\n 'focus',\n] as const;\nconst TYPOGRAPHY_KEYS = [\n 'fontFamily',\n 'fontSizeSm',\n 'fontSizeMd',\n 'fontSizeLg',\n 'lineHeight',\n] as const;\nconst BORDER_KEYS = ['color', 'width', 'style'] as const;\nconst RADIUS_KEYS = ['sm', 'md', 'lg'] as const;\n\ntype StringRecord = Record<string, unknown>;\n\nfunction isRecord(value: unknown): value is StringRecord {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction assertRecord(\n value: unknown,\n path: string\n): asserts value is StringRecord {\n if (!isRecord(value)) {\n throw new OneThemeConfigError(`${path} must be an object.`);\n }\n}\n\nfunction assertKnownKeys(\n value: StringRecord,\n allowedKeys: readonly string[],\n path: string\n): void {\n const unknownKey = Object.keys(value).find(\n (key) => !allowedKeys.includes(key)\n );\n if (unknownKey) {\n throw new OneThemeConfigError(`${path}.${unknownKey} is not supported.`);\n }\n}\n\nfunction normalizeStringGroup<K extends string, T extends Record<K, string>>(\n value: unknown,\n fallback: T,\n allowedKeys: readonly (keyof T & string)[],\n path: string\n): Readonly<T> {\n if (value === undefined) {\n return fallback;\n }\n\n assertRecord(value, path);\n assertKnownKeys(value, allowedKeys, path);\n const resolved = { ...fallback };\n for (const key of allowedKeys) {\n const candidate = value[key];\n if (candidate === undefined) {\n continue;\n }\n if (typeof candidate !== 'string' || candidate.trim().length === 0) {\n throw new OneThemeConfigError(\n `${path}.${key} must be a non-empty string.`\n );\n }\n resolved[key] = candidate as T[K];\n }\n return Object.freeze(resolved);\n}\n\nfunction normalizeTheme(value: unknown, path: string): OneResolvedTheme {\n assertRecord(value, path);\n assertKnownKeys(value, DEFINITION_KEYS, path);\n const definition = value as OneThemeDefinition;\n\n return Object.freeze({\n colors: normalizeStringGroup(\n definition.colors,\n ONE_DEFAULT_THEME.colors,\n COLOR_KEYS,\n `${path}.colors`\n ),\n typography: normalizeStringGroup(\n definition.typography,\n ONE_DEFAULT_THEME.typography,\n TYPOGRAPHY_KEYS,\n `${path}.typography`\n ),\n border: normalizeStringGroup(\n definition.border,\n ONE_DEFAULT_THEME.border,\n BORDER_KEYS,\n `${path}.border`\n ),\n radius: normalizeStringGroup(\n definition.radius,\n ONE_DEFAULT_THEME.radius,\n RADIUS_KEYS,\n `${path}.radius`\n ),\n });\n}\n\nfunction assertThemeName(name: string, path: string): void {\n if (name.length === 0 || name.trim() !== name || /\\s/.test(name)) {\n throw new OneThemeConfigError(\n `${path} must be a non-empty name without whitespace.`\n );\n }\n}\n\nexport function normalizeOneThemeOptions(\n options: OneThemeInitOptions = {}\n): NormalizedOneThemeOptions {\n assertRecord(options, 'options');\n assertKnownKeys(options, OPTION_KEYS, 'options');\n\n const themes = Object.create(null) as Record<string, OneResolvedTheme>;\n themes.default = ONE_DEFAULT_THEME;\n\n if (options.themes !== undefined) {\n assertRecord(options.themes, 'options.themes');\n for (const [name, definition] of Object.entries(options.themes)) {\n assertThemeName(name, `options.themes.${name || '<empty>'}`);\n if (name === 'default') {\n throw new OneThemeConfigError(\n 'options.themes.default is reserved by One UI.'\n );\n }\n themes[name] = normalizeTheme(definition, `options.themes.${name}`);\n }\n }\n\n const defaultTheme = options.defaultTheme ?? 'default';\n if (typeof defaultTheme !== 'string') {\n throw new OneThemeConfigError('options.defaultTheme must be a string.');\n }\n assertThemeName(defaultTheme, 'options.defaultTheme');\n if (!(defaultTheme in themes)) {\n throw new OneThemeConfigError(\n `options.defaultTheme references unknown theme \"${defaultTheme}\".`\n );\n }\n\n return Object.freeze({\n themes: Object.freeze(themes),\n defaultTheme,\n });\n}\n",
|
|
@@ -47,9 +58,10 @@
|
|
|
47
58
|
"import type { VNode } from '@geektech/tsone';\nimport {\n getDefaultOneOverlayHost,\n type OneOverlayHandle,\n type OneOverlayHost,\n} from '../overlay';\nimport { DialogOverlay } from './DialogOverlay';\nimport type { OneDialogCloseReason, OneDialogProps } from './types';\n\nexport interface OneDialogServiceOptions\n extends Omit<OneDialogProps, 'open' | 'defaultOpen'> {\n content?: VNode | string;\n confirmText?: string;\n cancelText?: string;\n onConfirm?: () => boolean | void | Promise<boolean | void>;\n onCancel?: () => void;\n onError?: (error: unknown) => void;\n}\n\ntype OneDialogSettlement = (result: boolean) => void;\n\nexport class OneDialogService {\n public constructor(private readonly suppliedHost?: OneOverlayHost) {}\n\n public open(\n options: OneDialogServiceOptions\n ): OneOverlayHandle<OneDialogServiceOptions> {\n return this.openInternal(options);\n }\n\n public confirm(options: OneDialogServiceOptions): Promise<boolean> {\n return new Promise<boolean>((resolve) => {\n this.openInternal(options, resolve);\n });\n }\n\n public close(id: string): void {\n (this.suppliedHost ?? getDefaultOneOverlayHost()).close(id);\n }\n\n public closeAll(): void {\n (this.suppliedHost ?? getDefaultOneOverlayHost()).closeAll('dialog');\n }\n\n private openInternal(\n options: OneDialogServiceOptions,\n settle?: OneDialogSettlement\n ): OneOverlayHandle<OneDialogServiceOptions> {\n const host = this.suppliedHost ?? getDefaultOneOverlayHost();\n let current = { ...options };\n let pending = false;\n let settled = false;\n const hostHandle = host.open<OneDialogServiceOptions>({\n kind: 'dialog',\n container: current.container,\n factory: ({ id, slot, requestClose, isTop }) => {\n const hostContainer = slot.parentElement?.parentElement;\n const overlay = new DialogOverlay({\n ...current,\n id,\n lockBody: hostContainer === slot.ownerDocument.body,\n isTop,\n requestClose: (reason) => {\n void handleClose(reason);\n },\n });\n\n const updateOverlay = (): void => {\n overlay.setProps({\n ...current,\n confirmLoading: pending || current.confirmLoading === true,\n });\n };\n\n const finish = (result: boolean): void => {\n if (settled) {\n return;\n }\n settled = true;\n requestClose();\n settle?.(result);\n };\n\n const handleClose = async (\n reason: OneDialogCloseReason\n ): Promise<void> => {\n if (settled || pending) {\n return;\n }\n if (reason !== 'confirm') {\n try {\n current.onCancel?.();\n } catch (error) {\n current.onError?.(error);\n }\n if (settle) {\n finish(false);\n } else {\n requestClose();\n }\n return;\n }\n\n pending = true;\n updateOverlay();\n try {\n const result = await current.onConfirm?.();\n if (result === false) {\n pending = false;\n updateOverlay();\n return;\n }\n if (settle) {\n finish(true);\n } else {\n requestClose();\n }\n } catch (error) {\n pending = false;\n updateOverlay();\n current.onError?.(error);\n }\n };\n\n overlay.mount(slot);\n return {\n update: (next) => {\n current = { ...current, ...next };\n updateOverlay();\n },\n destroy: () => {\n overlay.unmount();\n if (settle && !settled) {\n settled = true;\n settle(false);\n }\n },\n };\n },\n });\n\n return {\n id: hostHandle.id,\n update: (next) => hostHandle.update(next),\n close: () => hostHandle.close(),\n };\n }\n}\n\nexport function createOneDialogService(\n host?: OneOverlayHost\n): OneDialogService {\n return new OneDialogService(host);\n}\n\nexport const oneDialog = createOneDialogService();\n",
|
|
48
59
|
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n getDefaultOneOverlayHost,\n OneFloatingPositioner,\n OneOverlayMountController,\n OneTooltipTriggerError,\n resolveOneOverlayContainer,\n type OneOverlayFactoryContext,\n type OneOverlayPlacement,\n} from '../overlay';\nimport { TooltipBubble, type TooltipBubbleProps } from './TooltipBubble';\nimport type { OneTooltipProps, OneTooltipTrigger } from './types';\n\ninterface OneTooltipState {\n internalOpen: boolean;\n}\n\nconst PLACEMENTS: readonly OneOverlayPlacement[] = [\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-start',\n 'bottom',\n 'bottom-end',\n 'left-start',\n 'left',\n 'left-end',\n];\n\nconst TRIGGERS: readonly OneTooltipTrigger[] = [\n 'hover-focus',\n 'click',\n 'manual',\n];\n\nexport class OneTooltip extends Component<OneTooltipProps, OneTooltipState> {\n private readonly positioner = new OneFloatingPositioner();\n private controller: OneOverlayMountController<TooltipBubbleProps> | undefined;\n private triggerElement: HTMLElement | undefined;\n private targetDocument: Document | undefined;\n private previousDescribedBy: string | null = null;\n private describedBySaved = false;\n private tooltipId: string | undefined;\n private hovered = false;\n private focused = false;\n private openTimer: number | undefined;\n private closeTimer: number | undefined;\n\n protected initState(): OneTooltipState {\n return { internalOpen: this.props.defaultOpen === true };\n }\n\n protected initStyles(): void {}\n\n protected onMounted(): void {\n const wrapper = this.getElement();\n const trigger =\n wrapper instanceof HTMLElement ? wrapper.firstElementChild : null;\n if (!(trigger instanceof HTMLElement)) {\n throw new OneTooltipTriggerError();\n }\n this.triggerElement = trigger;\n this.targetDocument = trigger.ownerDocument;\n this.targetDocument.addEventListener('click', this.handleDocumentClick);\n this.targetDocument.addEventListener('keydown', this.handleDocumentKeydown);\n this.controller = new OneOverlayMountController<TooltipBubbleProps>(\n getDefaultOneOverlayHost(this.targetDocument),\n 'tooltip',\n (context) => this.createBubble(context)\n );\n this.synchronizeOverlay();\n }\n\n protected beforeUpdate(): void {\n this.synchronizeOverlay();\n }\n\n protected beforeUnmount(): void {\n this.clearTimers();\n this.targetDocument?.removeEventListener('click', this.handleDocumentClick);\n this.targetDocument?.removeEventListener(\n 'keydown',\n this.handleDocumentKeydown\n );\n this.controller?.close();\n this.restoreDescribedBy();\n this.controller = undefined;\n this.triggerElement = undefined;\n this.targetDocument = undefined;\n }\n\n protected render(): VNode {\n return {\n tag: 'span',\n props: { className: 'one-tooltip__trigger' },\n children: defaultChildren(this.props.children ?? []),\n listeners: {\n mouseenter: () => this.handleMouseEnter(),\n mouseleave: () => this.handleMouseLeave(),\n focusin: () => this.handleFocusIn(),\n focusout: (event) => this.handleFocusOut(event),\n click: () => this.handleTriggerClick(),\n },\n };\n }\n\n private createBubble(context: OneOverlayFactoryContext) {\n this.tooltipId = context.id;\n const options = this.bubbleOptions(context.id);\n this.applyDescribedBy(context.id);\n const bubble = new TooltipBubble(options);\n bubble.mount(context.slot);\n return {\n update: (next: Partial<TooltipBubbleProps>) => bubble.setProps(next),\n destroy: () => {\n bubble.unmount();\n this.restoreDescribedBy();\n this.tooltipId = undefined;\n },\n };\n }\n\n private synchronizeOverlay(): void {\n if (!this.controller || !this.triggerElement || !this.targetDocument) {\n return;\n }\n const shouldOpen = !this.props.disabled && this.requestedOpen();\n if (!shouldOpen) {\n this.controller.close();\n return;\n }\n const container = resolveOneOverlayContainer(\n this.props.container,\n this.targetDocument\n );\n this.controller.open(container);\n this.controller.update(this.bubbleOptions());\n }\n\n private bubbleOptions(id = this.tooltipId ?? ''): TooltipBubbleProps {\n const targetDocument = this.targetDocument;\n if (!this.triggerElement || !targetDocument) {\n throw new OneTooltipTriggerError();\n }\n return {\n id,\n content: this.props.content,\n reference: this.triggerElement,\n placement: normalizePlacement(this.props.placement),\n offset: normalizeDelay(this.props.offset, 8),\n boundaryPadding: 8,\n arrow: this.props.arrow !== false,\n container: resolveOneOverlayContainer(\n this.props.container,\n targetDocument\n ),\n positioner: this.positioner,\n };\n }\n\n private requestedOpen(): boolean {\n return this.props.open === undefined\n ? this.state.internalOpen\n : this.props.open === true;\n }\n\n private requestOpen(open: boolean): void {\n if (this.props.disabled || open === this.requestedOpen()) {\n return;\n }\n this.emit('openChange', open);\n if (this.props.open !== undefined) {\n return;\n }\n this.state.internalOpen = open;\n this.synchronizeOverlay();\n }\n\n private handleMouseEnter(): void {\n if (this.normalizedTrigger() !== 'hover-focus') {\n return;\n }\n this.hovered = true;\n this.cancelCloseTimer();\n this.scheduleOpen();\n }\n\n private handleMouseLeave(): void {\n if (this.normalizedTrigger() !== 'hover-focus') {\n return;\n }\n this.hovered = false;\n if (!this.focused) {\n this.scheduleClose();\n }\n }\n\n private handleFocusIn(): void {\n if (this.normalizedTrigger() !== 'hover-focus') {\n return;\n }\n this.focused = true;\n this.cancelCloseTimer();\n this.scheduleOpen();\n }\n\n private handleFocusOut(event: Event): void {\n if (this.normalizedTrigger() !== 'hover-focus') {\n return;\n }\n const wrapper = this.getElement();\n const next = (event as FocusEvent).relatedTarget;\n if (wrapper instanceof HTMLElement && next instanceof Node) {\n if (wrapper.contains(next)) {\n return;\n }\n }\n this.focused = false;\n if (!this.hovered) {\n this.scheduleClose();\n }\n }\n\n private handleTriggerClick(): void {\n if (this.normalizedTrigger() === 'click') {\n this.requestOpen(!this.requestedOpen());\n }\n }\n\n private readonly handleDocumentClick = (event: Event): void => {\n if (\n this.normalizedTrigger() !== 'click' ||\n !this.requestedOpen() ||\n (event.target instanceof Node &&\n this.getElement()?.contains(event.target))\n ) {\n return;\n }\n this.requestOpen(false);\n };\n\n private readonly handleDocumentKeydown = (event: KeyboardEvent): void => {\n if (event.key === 'Escape' && this.requestedOpen()) {\n this.requestOpen(false);\n }\n };\n\n private scheduleOpen(): void {\n this.cancelCloseTimer();\n if (this.openTimer !== undefined || this.requestedOpen()) {\n return;\n }\n const delay = normalizeDelay(this.props.openDelay, 100);\n if (delay === 0) {\n this.requestOpen(true);\n return;\n }\n this.openTimer = this.targetDocument?.defaultView?.setTimeout(() => {\n this.openTimer = undefined;\n if (this.hovered || this.focused) {\n this.requestOpen(true);\n }\n }, delay);\n }\n\n private scheduleClose(): void {\n this.cancelOpenTimer();\n if (this.closeTimer !== undefined || !this.requestedOpen()) {\n return;\n }\n const delay = normalizeDelay(this.props.closeDelay, 100);\n if (delay === 0) {\n this.requestOpen(false);\n return;\n }\n this.closeTimer = this.targetDocument?.defaultView?.setTimeout(() => {\n this.closeTimer = undefined;\n if (!this.hovered && !this.focused) {\n this.requestOpen(false);\n }\n }, delay);\n }\n\n private clearTimers(): void {\n this.cancelOpenTimer();\n this.cancelCloseTimer();\n }\n\n private cancelOpenTimer(): void {\n if (this.openTimer !== undefined) {\n this.targetDocument?.defaultView?.clearTimeout(this.openTimer);\n this.openTimer = undefined;\n }\n }\n\n private cancelCloseTimer(): void {\n if (this.closeTimer !== undefined) {\n this.targetDocument?.defaultView?.clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n\n private applyDescribedBy(id: string): void {\n if (!this.triggerElement) {\n return;\n }\n if (!this.describedBySaved) {\n this.previousDescribedBy =\n this.triggerElement.getAttribute('aria-describedby');\n this.describedBySaved = true;\n }\n const tokens = (this.previousDescribedBy ?? '')\n .split(/\\s+/)\n .filter(Boolean);\n if (!tokens.includes(id)) {\n tokens.push(id);\n }\n this.triggerElement.setAttribute('aria-describedby', tokens.join(' '));\n }\n\n private restoreDescribedBy(): void {\n if (!this.triggerElement || !this.describedBySaved) {\n return;\n }\n if (this.previousDescribedBy === null) {\n this.triggerElement.removeAttribute('aria-describedby');\n } else {\n this.triggerElement.setAttribute(\n 'aria-describedby',\n this.previousDescribedBy\n );\n }\n this.previousDescribedBy = null;\n this.describedBySaved = false;\n }\n\n private normalizedTrigger(): OneTooltipTrigger {\n return TRIGGERS.includes(this.props.trigger as OneTooltipTrigger)\n ? (this.props.trigger as OneTooltipTrigger)\n : 'hover-focus';\n }\n}\n\nfunction normalizePlacement(value: unknown): OneOverlayPlacement {\n return PLACEMENTS.includes(value as OneOverlayPlacement)\n ? (value as OneOverlayPlacement)\n : 'top';\n}\n\nfunction defaultChildren(\n children: Array<VNode | string>\n): Array<VNode | string> {\n const result: Array<VNode | string> = [];\n children.forEach((child) => {\n if (typeof child === 'string') {\n result.push(child);\n return;\n }\n if (child.slot !== undefined && child.slot !== 'default') {\n return;\n }\n const normalized = { ...child };\n delete normalized.slot;\n result.push(normalized as VNode);\n });\n return result;\n}\n\nfunction normalizeDelay(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) && value >= 0\n ? value\n : fallback;\n}\n",
|
|
49
60
|
"import { Component, type VNode } from '@geektech/tsone';\nimport type {\n OneOverlayPlacement,\n OneOverlayPositioner,\n OneOverlayRect,\n} from '../overlay';\nimport {\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\n\nexport interface TooltipBubbleProps {\n id: string;\n content: VNode | string;\n reference: HTMLElement;\n placement: OneOverlayPlacement;\n offset: number;\n boundaryPadding: number;\n arrow: boolean;\n container: HTMLElement;\n positioner: OneOverlayPositioner;\n}\n\nexport const ONE_TOOLTIP_STYLES: OneNamedStyle[] = [\n {\n name: 'one-tooltip-bubble',\n selector: '.one-tooltip__bubble',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n position: 'fixed',\n zIndex: `var(--one-z-index-tooltip, ${ONE_THEME_DEFAULTS.zIndexTooltip})`,\n boxSizing: 'border-box',\n maxWidth: '280px',\n padding: `var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm}) var(--one-space-md, ${ONE_THEME_DEFAULTS.spaceMd})`,\n color: '#ffffff',\n fontSize: `var(--one-font-size-sm, ${ONE_THEME_DEFAULTS.fontSizeSm})`,\n backgroundColor: `var(--one-tooltip-background, var(--one-color-text, ${ONE_THEME_DEFAULTS.colorText}))`,\n borderRadius: `var(--one-radius-sm, ${ONE_THEME_DEFAULTS.radiusSm})`,\n boxShadow: `var(--one-shadow-overlay, ${ONE_THEME_DEFAULTS.shadowOverlay})`,\n pointerEvents: 'none',\n },\n },\n {\n name: 'one-tooltip-bubble-contained',\n selector: '.one-tooltip__bubble--contained',\n properties: { position: 'absolute' },\n },\n {\n name: 'one-tooltip-arrow',\n selector: '.one-tooltip__arrow',\n properties: {\n position: 'absolute',\n width: '8px',\n height: '8px',\n backgroundColor: 'inherit',\n transform: 'rotate(45deg)',\n },\n },\n {\n name: 'one-tooltip-arrow-vertical',\n selector:\n '.one-tooltip__bubble[data-placement^=\"top\"] .one-tooltip__arrow, .one-tooltip__bubble[data-placement^=\"bottom\"] .one-tooltip__arrow',\n properties: {\n left: 'var(--one-tooltip-arrow-x, 50%)',\n marginLeft: '-4px',\n },\n },\n {\n name: 'one-tooltip-arrow-horizontal',\n selector:\n '.one-tooltip__bubble[data-placement^=\"left\"] .one-tooltip__arrow, .one-tooltip__bubble[data-placement^=\"right\"] .one-tooltip__arrow',\n properties: {\n top: 'var(--one-tooltip-arrow-y, 50%)',\n marginTop: '-4px',\n },\n },\n {\n name: 'one-tooltip-arrow-top',\n selector: '.one-tooltip__bubble[data-placement^=\"top\"] .one-tooltip__arrow',\n properties: { bottom: '-4px' },\n },\n {\n name: 'one-tooltip-arrow-bottom',\n selector:\n '.one-tooltip__bubble[data-placement^=\"bottom\"] .one-tooltip__arrow',\n properties: { top: '-4px' },\n },\n {\n name: 'one-tooltip-arrow-left',\n selector:\n '.one-tooltip__bubble[data-placement^=\"left\"] .one-tooltip__arrow',\n properties: { right: '-4px' },\n },\n {\n name: 'one-tooltip-arrow-right',\n selector:\n '.one-tooltip__bubble[data-placement^=\"right\"] .one-tooltip__arrow',\n properties: { left: '-4px' },\n },\n];\n\ninterface TooltipBubbleState {}\n\nexport class TooltipBubble extends Component<\n TooltipBubbleProps,\n TooltipBubbleState\n> {\n private stopAutoUpdate: (() => void) | undefined;\n\n public mount(container: HTMLElement): void {\n super.mount(container);\n this.updatePosition();\n const element = this.getElement();\n if (element instanceof HTMLElement) {\n this.stopAutoUpdate = this.props.positioner.autoUpdate(\n this.props.reference,\n element,\n () => this.updatePosition()\n );\n }\n }\n\n public setProps(props: Partial<TooltipBubbleProps>): void {\n super.setProps(props);\n this.updatePosition();\n }\n\n protected initState(): TooltipBubbleState {\n return {};\n }\n\n protected initStyles(): void {\n ONE_TOOLTIP_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected onUnmounted(): void {\n this.stopAutoUpdate?.();\n this.stopAutoUpdate = undefined;\n }\n\n protected render(): VNode {\n const contained =\n this.props.container !== this.props.container.ownerDocument.body;\n return {\n tag: 'div',\n props: {\n id: this.props.id,\n className: [\n 'one-tooltip__bubble',\n ...(contained ? ['one-tooltip__bubble--contained'] : []),\n ].join(' '),\n role: 'tooltip',\n 'data-placement': this.props.placement,\n },\n children: [\n this.props.content,\n ...(this.props.arrow\n ? [\n {\n tag: 'span',\n props: {\n className: 'one-tooltip__arrow',\n 'aria-hidden': 'true',\n },\n } as VNode,\n ]\n : []),\n ],\n };\n }\n\n private updatePosition(): void {\n const element = this.getElement();\n if (!(element instanceof HTMLElement) || !element.isConnected) {\n return;\n }\n const boundary = this.boundaryRect();\n const result = this.props.positioner.compute({\n reference: toOverlayRect(this.props.reference.getBoundingClientRect()),\n floating: toOverlayRect(element.getBoundingClientRect()),\n boundary,\n placement: this.props.placement,\n offset: this.props.offset,\n padding: this.props.boundaryPadding,\n });\n const contained =\n this.props.container !== this.props.container.ownerDocument.body;\n element.style.left = `${result.x - (contained ? boundary.left : 0)}px`;\n element.style.top = `${result.y - (contained ? boundary.top : 0)}px`;\n element.dataset.placement = result.placement;\n element.style.removeProperty('--one-tooltip-arrow-x');\n element.style.removeProperty('--one-tooltip-arrow-y');\n if (result.arrow.x !== undefined) {\n element.style.setProperty('--one-tooltip-arrow-x', `${result.arrow.x}px`);\n }\n if (result.arrow.y !== undefined) {\n element.style.setProperty('--one-tooltip-arrow-y', `${result.arrow.y}px`);\n }\n }\n\n private boundaryRect(): OneOverlayRect {\n const targetDocument = this.props.container.ownerDocument;\n if (this.props.container !== targetDocument.body) {\n return toOverlayRect(this.props.container.getBoundingClientRect());\n }\n const view = targetDocument.defaultView;\n const width =\n view?.innerWidth ?? targetDocument.documentElement.clientWidth;\n const height =\n view?.innerHeight ?? targetDocument.documentElement.clientHeight;\n return {\n x: 0,\n y: 0,\n top: 0,\n left: 0,\n width,\n height,\n right: width,\n bottom: height,\n };\n }\n}\n\nfunction toOverlayRect(rect: DOMRect | OneOverlayRect): OneOverlayRect {\n return {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n };\n}\n",
|
|
50
|
-
"
|
|
61
|
+
"import { Component, type VNode } from '@geektech/tsone';\nimport {\n normalizeOneDataDisplayVariant,\n type OneDataDisplayVariant,\n} from '../data-display';\nimport {\n normalizeOneSize,\n ONE_THEME_DEFAULTS,\n ONE_THEME_TYPOGRAPHY_PROPERTIES,\n type OneNamedStyle,\n} from '../styles/shared';\nimport type { OneComponentSize } from '../types';\n\nexport interface OneLoadingProps {\n size?: OneComponentSize;\n variant?: OneDataDisplayVariant;\n label?: string;\n children?: Array<VNode | string>;\n}\n\nexport const ONE_LOADING_STYLES: OneNamedStyle[] = [\n {\n name: 'one-loading-base',\n selector: '.one-loading',\n properties: {\n ...ONE_THEME_TYPOGRAPHY_PROPERTIES,\n display: 'inline-flex',\n alignItems: 'center',\n gap: `var(--one-space-sm, ${ONE_THEME_DEFAULTS.spaceSm})`,\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n },\n },\n {\n name: 'one-loading-spinner',\n selector: '.one-loading__spinner',\n properties: {\n display: 'inline-block',\n boxSizing: 'border-box',\n borderRadius: '50%',\n border: '2px solid currentColor',\n borderTopColor: 'transparent',\n },\n },\n {\n name: 'one-loading-spinner-sm',\n selector: '.one-loading--sm .one-loading__spinner',\n properties: { width: '16px', height: '16px' },\n },\n {\n name: 'one-loading-spinner-md',\n selector: '.one-loading--md .one-loading__spinner',\n properties: { width: '20px', height: '20px' },\n },\n {\n name: 'one-loading-spinner-lg',\n selector: '.one-loading--lg .one-loading__spinner',\n properties: { width: '24px', height: '24px' },\n },\n {\n name: 'one-loading-spinner-neutral',\n selector: '.one-loading__spinner--neutral',\n properties: {\n color: `var(--one-color-muted, ${ONE_THEME_DEFAULTS.colorMuted})`,\n },\n },\n {\n name: 'one-loading-spinner-primary',\n selector: '.one-loading__spinner--primary',\n properties: {\n color: `var(--one-color-primary, ${ONE_THEME_DEFAULTS.colorPrimary})`,\n },\n },\n {\n name: 'one-loading-spinner-success',\n selector: '.one-loading__spinner--success',\n properties: {\n color: `var(--one-color-success, ${ONE_THEME_DEFAULTS.colorSuccess})`,\n },\n },\n {\n name: 'one-loading-spinner-warning',\n selector: '.one-loading__spinner--warning',\n properties: {\n color: `var(--one-color-warning, ${ONE_THEME_DEFAULTS.colorWarning})`,\n },\n },\n {\n name: 'one-loading-spinner-error',\n selector: '.one-loading__spinner--error',\n properties: {\n color: `var(--one-color-danger, ${ONE_THEME_DEFAULTS.colorDanger})`,\n },\n },\n];\n\nexport class OneLoading extends Component<OneLoadingProps> {\n protected initState(): object {\n return {};\n }\n\n protected initStyles(): void {\n ONE_LOADING_STYLES.forEach(({ name, ...style }) => {\n this.styleManager.addStyle(name, style);\n });\n }\n\n protected render(): VNode {\n const size = normalizeOneSize(this.props.size);\n const variant = normalizeOneDataDisplayVariant(this.props.variant, 'primary');\n\n return {\n tag: 'span',\n props: {\n className: `one-loading one-loading--${size}`,\n role: 'status',\n 'aria-label': this.props.label ?? '加载中',\n },\n children: [\n {\n tag: 'span',\n props: {\n className: `one-loading__spinner one-loading__spinner--${variant}`,\n 'aria-hidden': 'true',\n },\n } as VNode,\n ...(this.props.children ?? []),\n ],\n };\n }\n}\n",
|
|
62
|
+
"export type { OneComponentSize } from './types';\nexport { OneButton } from './button';\nexport type { OneButtonProps, OneButtonVariant } from './button';\nexport { OneInput } from './input';\nexport type { OneInputProps, OneInputValueEvent } from './input';\nexport { OneForm, OneFormItem, OneFormModel } from './form';\nexport type {\n OneFieldValue,\n OneFieldValueEvent,\n OneFormInitialValues,\n OneFormItemProps,\n OneFormProps,\n OneFormRules,\n OneFormSubmitEvent,\n OneFormValidationResult,\n OneFormValues,\n OneValidationRule,\n} from './form';\nexport { OneCheckbox } from './checkbox';\nexport type { OneCheckboxGroupProps, OneCheckboxProps } from './checkbox';\nexport { OneCheckboxGroup } from './checkbox';\nexport { OneSwitch } from './switch';\nexport type { OneSwitchProps } from './switch';\nexport { OneRadio, OneRadioGroup } from './radio';\nexport type { OneRadioGroupProps, OneRadioProps } from './radio';\nexport { OneSelect } from './select';\nexport type {\n OneSelectOption,\n OneSelectOptionGroup,\n OneSelectProps,\n} from './select';\nexport { OneTimePicker } from './time-picker';\nexport type {\n OneTimePickerProps,\n OneTimePickerValueEvent,\n} from './time-picker';\nexport { OneSlider } from './slider';\nexport type { OneSliderProps, OneSliderValueEvent } from './slider';\nexport { OneRate } from './rate';\nexport type { OneRateProps, OneRateValueEvent } from './rate';\nexport { OneUpload, formatOneFileSize } from './upload';\nexport type {\n OneUploadChangeEvent,\n OneUploadFile,\n OneUploadProps,\n} from './upload';\nexport { OneTabs } from './tabs';\nexport type { OneTabItem, OneTabsChangeEvent, OneTabsProps } from './tabs';\nexport { OneBreadcrumb } from './breadcrumb';\nexport type {\n OneBreadcrumbClickEvent,\n OneBreadcrumbItem,\n OneBreadcrumbProps,\n} from './breadcrumb';\nexport { OnePagination, createOnePaginationTokens } from './pagination';\nexport type {\n OnePaginationChangeEvent,\n OnePaginationProps,\n OnePaginationToken,\n} from './pagination';\nexport { ONE_COMPONENT_CATEGORIES } from './categories';\nexport type { OneComponentCategory } from './categories';\nexport { OneCard } from './card';\nexport type { OneCardProps } from './card';\nexport type { OneDataDisplayVariant } from './data-display';\nexport { OneTag } from './tag';\nexport type { OneTagProps } from './tag';\nexport { OneBadge } from './badge';\nexport type { OneBadgeProps } from './badge';\nexport { OneEmpty } from './empty';\nexport type { OneEmptyProps } from './empty';\nexport { OneAvatar } from './avatar';\nexport type { OneAvatarProps, OneAvatarShape } from './avatar';\nexport { OneProgress } from './progress';\nexport type { OneProgressProps } from './progress';\nexport { OneTable } from './table';\nexport type { OneTableColumn, OneTableProps, OneTableRow } from './table';\nexport { OneCollapse } from './collapse';\nexport type {\n OneCollapseChangeEvent,\n OneCollapseItem,\n OneCollapseProps,\n} from './collapse';\nexport { OneSkeleton } from './skeleton';\nexport type { OneSkeletonProps } from './skeleton';\nexport { ONE_THEME_DEFAULTS } from './styles/shared';\nexport {\n ONE_DEFAULT_THEME,\n OneThemeConfigError,\n OneThemeEnvironmentError,\n OneThemeNotFoundError,\n oneTheme,\n} from './theme';\nexport type {\n OneResolvedTheme,\n OneThemeBorder,\n OneThemeColors,\n OneThemeDefinition,\n OneThemeInitOptions,\n OneThemeRadius,\n OneThemeService,\n OneThemeTypography,\n} from './theme';\nexport {\n DomOneOverlayHost,\n OneFloatingPositioner,\n OneOverlayContainerError,\n OneOverlayEnvironmentError,\n OneTooltipTriggerError,\n} from './overlay';\nexport type {\n OneFeedbackVariant,\n OneOverlayContainer,\n OneOverlayHandle,\n OneOverlayHost,\n OneOverlayPlacement,\n OneOverlayPositionRequest,\n OneOverlayPositionResult,\n OneOverlayPositioner,\n OneOverlayRect,\n} from './overlay';\nexport { OneAlert } from './alert';\nexport type { OneAlertProps } from './alert';\nexport {\n OneMessage,\n OneMessageService,\n createOneMessageService,\n oneMessage,\n} from './message';\nexport type {\n OneMessageOptions,\n OneMessagePlacement,\n OneMessageProps,\n} from './message';\nexport {\n OneDialog,\n OneDialogService,\n createOneDialogService,\n oneDialog,\n} from './dialog';\nexport type { OneDialogProps, OneDialogServiceOptions } from './dialog';\nexport { OneTooltip } from './tooltip';\nexport type { OneTooltipProps, OneTooltipTrigger } from './tooltip';\nexport { OneLoading } from './loading';\nexport type { OneLoadingProps } from './loading';\n\nexport const ONE_NAME = '@geektech/one';\nexport const ONE_VERSION = '0.3.1';\n"
|
|
51
63
|
],
|
|
52
|
-
"mappings": "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",
|
|
53
|
-
"debugId": "
|
|
64
|
+
"mappings": "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",
|
|
65
|
+
"debugId": "6C7D3614EFE6BBAA64756E2164756E21",
|
|
54
66
|
"names": []
|
|
55
67
|
}
|