@taiga-ui/core 4.33.0 → 4.34.0-canary.31e040a
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/animations/animations.d.ts +1 -0
- package/components/link/link.directive.d.ts +4 -0
- package/components/link/link.options.d.ts +4 -0
- package/components/textfield/textfield.component.d.ts +3 -0
- package/directives/dropdown/dropdown.component.d.ts +2 -1
- package/directives/icons/icons.directive.d.ts +7 -5
- package/esm2022/animations/animations.mjs +23 -1
- package/esm2022/components/data-list/data-list.component.mjs +3 -3
- package/esm2022/components/dialog/dialogs.component.mjs +3 -3
- package/esm2022/components/link/link.directive.mjs +7 -3
- package/esm2022/components/link/link.options.mjs +1 -1
- package/esm2022/components/notification/notification.directive.mjs +2 -4
- package/esm2022/components/root/root.component.mjs +2 -2
- package/esm2022/components/textfield/textfield.component.mjs +19 -5
- package/esm2022/directives/dropdown/dropdown-open.directive.mjs +3 -2
- package/esm2022/directives/dropdown/dropdown.component.mjs +21 -30
- package/esm2022/directives/dropdown/dropdown.directive.mjs +2 -7
- package/esm2022/directives/dropdown/dropdowns.component.mjs +3 -2
- package/esm2022/directives/icons/icons.directive.mjs +25 -12
- package/esm2022/tokens/viewport.mjs +3 -2
- package/fesm2022/taiga-ui-core-animations.mjs +23 -1
- package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-data-list.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-link.mjs +6 -2
- package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-notification.mjs +1 -3
- package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +18 -4
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs +25 -35
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-icons.mjs +24 -11
- package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-tokens.mjs +2 -1
- package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
- package/package.json +15 -15
- package/styles/components/link.less +15 -1
- package/styles/components/textfield.less +32 -18
- package/styles/mixins/mixins.less +10 -0
- package/styles/mixins/mixins.scss +9 -0
- package/styles/theme/appearance/textfield.less +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-tokens.mjs","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-speed.ts","../../../projects/core/tokens/assets-path.ts","../../../projects/core/tokens/common-icons.ts","../../../projects/core/tokens/dark-mode.ts","../../../projects/core/tokens/date-format.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icon-resolver.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/spin-icons.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_REDUCED_MOTION = tuiCreateTokenFromFactory(\n () =>\n inject(DOCUMENT).defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)')\n .matches ?? false,\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\n/**\n * Speed of all Taiga UI animations. 1 equals 300ms.\n */\nexport const TUI_ANIMATIONS_SPEED = tuiCreateTokenFromFactory<number>(() =>\n inject(TUI_REDUCED_MOTION) ? 0 : 1,\n);\n","import type {ValueProvider} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_ASSETS_PATH = tuiCreateToken('assets/taiga-ui/icons');\n\nexport function tuiAssetsPathProvider(useValue: string): ValueProvider {\n return {\n provide: TUI_ASSETS_PATH,\n useValue,\n };\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\n// TODO: Rename `ellipsis` to `more` in the next major version\nconst COMMON_ICONS: TuiCommonIcons = {\n check: '@tui.check',\n close: '@tui.x',\n error: '@tui.circle-alert',\n more: '@tui.chevron-right',\n search: '@tui.search',\n ellipsis: '@tui.ellipsis',\n};\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n readonly search: string;\n readonly ellipsis: string;\n}\n\nexport const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);\n\nexport function tuiCommonIconsProvider(icons: Partial<TuiCommonIcons>): Provider {\n return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);\n}\n","import type {WritableSignal} from '@angular/core';\nimport {effect, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_LOCAL_STORAGE, WA_WINDOW} from '@ng-web-apis/common';\nimport {\n tuiCreateToken,\n tuiCreateTokenFromFactory,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {filter, fromEvent} from 'rxjs';\n\nexport const TUI_DARK_MODE_DEFAULT_KEY = 'tuiDark';\nexport const TUI_DARK_MODE_KEY = tuiCreateToken(TUI_DARK_MODE_DEFAULT_KEY);\nexport const TUI_DARK_MODE = tuiCreateTokenFromFactory<\n WritableSignal<boolean> & {reset(): void}\n>(() => {\n let automatic = true;\n\n const storage = inject(WA_LOCAL_STORAGE);\n const key = inject(TUI_DARK_MODE_KEY);\n const saved = storage.getItem(key);\n const media = inject(WA_WINDOW).matchMedia('(prefers-color-scheme: dark)');\n const result = signal(Boolean((saved && JSON.parse(saved)) ?? media.matches));\n\n fromEvent(media, 'change')\n .pipe(\n filter(() => !storage.getItem(key)),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n automatic = true;\n result.set(media.matches);\n });\n\n effect(() => {\n const value = String(result());\n\n if (automatic) {\n automatic = false;\n } else {\n storage.setItem(key, value);\n }\n });\n\n return Object.assign(result, {\n reset: () => {\n storage.removeItem(key);\n automatic = true;\n result.set(media.matches);\n },\n });\n});\n","import type {InjectionToken, Provider} from '@angular/core';\nimport {Optional, SkipSelf} from '@angular/core';\nimport type {TuiDateMode} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {map, of} from 'rxjs';\n\n/**\n * Formatting configuration for displayed dates\n */\nexport interface TuiDateFormatSettings {\n /**\n * Date format mode.\n */\n readonly mode: TuiDateMode;\n /**\n * Separator between date segments\n * @example 10.02 ('.' by default)\n */\n readonly separator: string;\n}\n\nexport const TUI_DEFAULT_DATE_FORMAT: TuiDateFormatSettings = {\n mode: 'DMY',\n separator: '.',\n};\n\n/**\n * Formatting configuration for displayed dates\n */\nexport const TUI_DATE_FORMAT: InjectionToken<Observable<TuiDateFormatSettings>> =\n tuiCreateToken(of(TUI_DEFAULT_DATE_FORMAT));\n\nexport function tuiDateFormatProvider(options: Partial<TuiDateFormatSettings>): Provider {\n return {\n provide: TUI_DATE_FORMAT,\n deps: [[new Optional(), new SkipSelf(), TUI_DATE_FORMAT]],\n useFactory: (\n parent: Observable<TuiDateFormatSettings> | null,\n ): Observable<TuiDateFormatSettings> =>\n (parent || of(TUI_DEFAULT_DATE_FORMAT)).pipe(\n map((format) => ({...format, ...options})),\n ),\n };\n}\n","import type {TuiDay} from '@taiga-ui/cdk/date-time';\nimport type {TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = tuiCreateToken<TuiHandler<TuiDay, string>>((day) =>\n day.isWeekend ? 'weekend' : 'weekday',\n);\n","import {TuiDayOfWeek} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = tuiCreateToken<0 | 1 | 2 | 3 | 4 | 5 | 6>(\n TuiDayOfWeek.Monday,\n);\n","import {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/utils';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = tuiCreateTokenFromFactory(tuiExtractI18n('months'));\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('close'));\n\n/**\n * i18n 'clear' word\n */\nexport const TUI_CLEAR_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('clear'));\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('nothingFoundMessage'),\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('defaultErrorMessage'),\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('spinTexts'));\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(\n tuiExtractI18n('shortWeekDays'),\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_ICON_START = tuiCreateToken('');\nexport const TUI_ICON_END = tuiCreateToken('');\n","import type {FactoryProvider} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_ICON_REGISTRY = tuiCreateToken<Record<string, string>>({});\n\n/**\n * @deprecated: use {@link TUI_ICON_REGISTRY}\n */\nexport const TUI_ICON_STARTS = TUI_ICON_REGISTRY;\n\nexport function tuiIconsProvider(icons: Record<string, string>): FactoryProvider {\n return {\n provide: TUI_ICON_REGISTRY,\n useFactory: () => ({\n ...(inject(TUI_ICON_REGISTRY, {skipSelf: true, optional: true}) || {}),\n ...Object.fromEntries(\n Object.entries(icons).map(([key, value]) => [\n key,\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(value)}`,\n ]),\n ),\n }),\n };\n}\n","import type {Provider} from '@angular/core';\nimport {inject} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TUI_ASSETS_PATH} from './assets-path';\nimport {TUI_ICON_REGISTRY} from './icons';\n\nexport const TUI_ICON_RESOLVER = tuiCreateTokenFromFactory<TuiStringHandler<string>>(\n () => {\n const path = inject(TUI_ASSETS_PATH);\n\n return (icon) => `${path}/${icon.replace('@tui.', '').split('.').join('/')}.svg`;\n },\n);\n\n/**\n * @deprecated use {@link TUI_ICON_RESOLVER}\n */\nexport const TUI_ICON_START_RESOLVER = TUI_ICON_RESOLVER;\n\nexport function tuiInjectIconResolver(): TuiStringHandler<string> {\n const icons = inject(TUI_ICON_REGISTRY);\n const resolver = inject(TUI_ICON_RESOLVER);\n\n return (icon) =>\n !icon || icon.includes('/') ? icon : (icons[icon] ?? resolver(icon));\n}\n\nexport function tuiIconResolverProvider(useValue: TuiStringHandler<string>): Provider {\n return {provide: TUI_ICON_RESOLVER, useValue};\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiMedia {\n readonly desktopLarge: number;\n readonly desktopSmall: number;\n readonly mobile: number;\n readonly tablet?: number;\n}\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = tuiCreateToken<TuiMedia>({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n});\n","import type {InjectionToken, Provider} from '@angular/core';\nimport {Optional, SkipSelf} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport type {TuiRounding} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {map, of} from 'rxjs';\n\nexport type TuiDecimalMode = 'always' | 'not-zero' | 'pad';\nexport type TuiDecimalSymbol = ',' | '.';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport interface TuiNumberFormatSettings {\n /**\n * Number of digits of decimal part.\n * @note Use `Infinity` to keep untouched.\n */\n readonly precision: number;\n /**\n * Separator between the integer and the decimal part.\n * @example 0,42 (',' by default)\n */\n readonly decimalSeparator: TuiDecimalSymbol;\n /**\n * Rounding method.\n */\n readonly rounding: TuiRounding;\n /**\n * Separator between thousands.\n * @example 360 000 (' ' by default)\n */\n readonly thousandSeparator: string;\n /**\n * Decimal part display mode. ('not-zero' by default)\n */\n readonly decimalMode: TuiDecimalMode;\n}\n\nexport const TUI_DEFAULT_NUMBER_FORMAT: TuiNumberFormatSettings = {\n precision: NaN,\n decimalSeparator: '.',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n rounding: 'truncate',\n decimalMode: 'pad',\n};\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT: InjectionToken<Observable<TuiNumberFormatSettings>> =\n tuiCreateToken(of(TUI_DEFAULT_NUMBER_FORMAT));\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return {\n provide: TUI_NUMBER_FORMAT,\n deps: [[new Optional(), new SkipSelf(), TUI_NUMBER_FORMAT]],\n useFactory: (\n parent: Observable<TuiNumberFormatSettings> | null,\n ): Observable<TuiNumberFormatSettings> =>\n (parent || of(TUI_DEFAULT_NUMBER_FORMAT)).pipe(\n map((format) => ({...format, ...options})),\n ),\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_SCROLL_REF = tuiCreateTokenFromFactory(\n () => new ElementRef(inject(DOCUMENT).documentElement),\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {merge, share, switchMap, takeUntil} from 'rxjs';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = tuiCreateTokenFromFactory<Observable<unknown>>(() => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, 'selectionchange'),\n tuiTypedFromEvent(doc, 'mouseup'),\n tuiTypedFromEvent(doc, 'mousedown').pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, 'mousemove').pipe(\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, 'keydown'),\n tuiTypedFromEvent(doc, 'keyup'),\n ).pipe(share());\n});\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiSpinIcons {\n readonly decrement: string;\n readonly increment: string;\n}\n\nexport const TUI_SPIN_ICONS = tuiCreateToken<TuiSpinIcons>({\n decrement: '@tui.chevron-left',\n increment: '@tui.chevron-right',\n});\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_THEME = tuiCreateToken('Taiga UI');\n","import type {Provider, Type} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiRectAccessor} from '@taiga-ui/core/classes';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = tuiCreateTokenFromFactory<TuiRectAccessor>(() => {\n const win = inject(WA_WINDOW);\n\n return {\n type: 'viewport',\n getClientRect() {\n const rect = {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n },\n };\n});\n\nexport function tuiAsViewport(accessor: Type<TuiRectAccessor>): Provider {\n return tuiProvide(TUI_VIEWPORT, accessor);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-tokens.mjs","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-speed.ts","../../../projects/core/tokens/assets-path.ts","../../../projects/core/tokens/common-icons.ts","../../../projects/core/tokens/dark-mode.ts","../../../projects/core/tokens/date-format.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icon-resolver.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/spin-icons.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_REDUCED_MOTION = tuiCreateTokenFromFactory(\n () =>\n inject(DOCUMENT).defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)')\n .matches ?? false,\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\n/**\n * Speed of all Taiga UI animations. 1 equals 300ms.\n */\nexport const TUI_ANIMATIONS_SPEED = tuiCreateTokenFromFactory<number>(() =>\n inject(TUI_REDUCED_MOTION) ? 0 : 1,\n);\n","import type {ValueProvider} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_ASSETS_PATH = tuiCreateToken('assets/taiga-ui/icons');\n\nexport function tuiAssetsPathProvider(useValue: string): ValueProvider {\n return {\n provide: TUI_ASSETS_PATH,\n useValue,\n };\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\n// TODO: Rename `ellipsis` to `more` in the next major version\nconst COMMON_ICONS: TuiCommonIcons = {\n check: '@tui.check',\n close: '@tui.x',\n error: '@tui.circle-alert',\n more: '@tui.chevron-right',\n search: '@tui.search',\n ellipsis: '@tui.ellipsis',\n};\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n readonly search: string;\n readonly ellipsis: string;\n}\n\nexport const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);\n\nexport function tuiCommonIconsProvider(icons: Partial<TuiCommonIcons>): Provider {\n return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);\n}\n","import type {WritableSignal} from '@angular/core';\nimport {effect, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_LOCAL_STORAGE, WA_WINDOW} from '@ng-web-apis/common';\nimport {\n tuiCreateToken,\n tuiCreateTokenFromFactory,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {filter, fromEvent} from 'rxjs';\n\nexport const TUI_DARK_MODE_DEFAULT_KEY = 'tuiDark';\nexport const TUI_DARK_MODE_KEY = tuiCreateToken(TUI_DARK_MODE_DEFAULT_KEY);\nexport const TUI_DARK_MODE = tuiCreateTokenFromFactory<\n WritableSignal<boolean> & {reset(): void}\n>(() => {\n let automatic = true;\n\n const storage = inject(WA_LOCAL_STORAGE);\n const key = inject(TUI_DARK_MODE_KEY);\n const saved = storage.getItem(key);\n const media = inject(WA_WINDOW).matchMedia('(prefers-color-scheme: dark)');\n const result = signal(Boolean((saved && JSON.parse(saved)) ?? media.matches));\n\n fromEvent(media, 'change')\n .pipe(\n filter(() => !storage.getItem(key)),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n automatic = true;\n result.set(media.matches);\n });\n\n effect(() => {\n const value = String(result());\n\n if (automatic) {\n automatic = false;\n } else {\n storage.setItem(key, value);\n }\n });\n\n return Object.assign(result, {\n reset: () => {\n storage.removeItem(key);\n automatic = true;\n result.set(media.matches);\n },\n });\n});\n","import type {InjectionToken, Provider} from '@angular/core';\nimport {Optional, SkipSelf} from '@angular/core';\nimport type {TuiDateMode} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {map, of} from 'rxjs';\n\n/**\n * Formatting configuration for displayed dates\n */\nexport interface TuiDateFormatSettings {\n /**\n * Date format mode.\n */\n readonly mode: TuiDateMode;\n /**\n * Separator between date segments\n * @example 10.02 ('.' by default)\n */\n readonly separator: string;\n}\n\nexport const TUI_DEFAULT_DATE_FORMAT: TuiDateFormatSettings = {\n mode: 'DMY',\n separator: '.',\n};\n\n/**\n * Formatting configuration for displayed dates\n */\nexport const TUI_DATE_FORMAT: InjectionToken<Observable<TuiDateFormatSettings>> =\n tuiCreateToken(of(TUI_DEFAULT_DATE_FORMAT));\n\nexport function tuiDateFormatProvider(options: Partial<TuiDateFormatSettings>): Provider {\n return {\n provide: TUI_DATE_FORMAT,\n deps: [[new Optional(), new SkipSelf(), TUI_DATE_FORMAT]],\n useFactory: (\n parent: Observable<TuiDateFormatSettings> | null,\n ): Observable<TuiDateFormatSettings> =>\n (parent || of(TUI_DEFAULT_DATE_FORMAT)).pipe(\n map((format) => ({...format, ...options})),\n ),\n };\n}\n","import type {TuiDay} from '@taiga-ui/cdk/date-time';\nimport type {TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = tuiCreateToken<TuiHandler<TuiDay, string>>((day) =>\n day.isWeekend ? 'weekend' : 'weekday',\n);\n","import {TuiDayOfWeek} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = tuiCreateToken<0 | 1 | 2 | 3 | 4 | 5 | 6>(\n TuiDayOfWeek.Monday,\n);\n","import {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/utils';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = tuiCreateTokenFromFactory(tuiExtractI18n('months'));\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('close'));\n\n/**\n * i18n 'clear' word\n */\nexport const TUI_CLEAR_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('clear'));\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('nothingFoundMessage'),\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('defaultErrorMessage'),\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('spinTexts'));\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(\n tuiExtractI18n('shortWeekDays'),\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_ICON_START = tuiCreateToken('');\nexport const TUI_ICON_END = tuiCreateToken('');\n","import type {FactoryProvider} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_ICON_REGISTRY = tuiCreateToken<Record<string, string>>({});\n\n/**\n * @deprecated: use {@link TUI_ICON_REGISTRY}\n */\nexport const TUI_ICON_STARTS = TUI_ICON_REGISTRY;\n\nexport function tuiIconsProvider(icons: Record<string, string>): FactoryProvider {\n return {\n provide: TUI_ICON_REGISTRY,\n useFactory: () => ({\n ...(inject(TUI_ICON_REGISTRY, {skipSelf: true, optional: true}) || {}),\n ...Object.fromEntries(\n Object.entries(icons).map(([key, value]) => [\n key,\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(value)}`,\n ]),\n ),\n }),\n };\n}\n","import type {Provider} from '@angular/core';\nimport {inject} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TUI_ASSETS_PATH} from './assets-path';\nimport {TUI_ICON_REGISTRY} from './icons';\n\nexport const TUI_ICON_RESOLVER = tuiCreateTokenFromFactory<TuiStringHandler<string>>(\n () => {\n const path = inject(TUI_ASSETS_PATH);\n\n return (icon) => `${path}/${icon.replace('@tui.', '').split('.').join('/')}.svg`;\n },\n);\n\n/**\n * @deprecated use {@link TUI_ICON_RESOLVER}\n */\nexport const TUI_ICON_START_RESOLVER = TUI_ICON_RESOLVER;\n\nexport function tuiInjectIconResolver(): TuiStringHandler<string> {\n const icons = inject(TUI_ICON_REGISTRY);\n const resolver = inject(TUI_ICON_RESOLVER);\n\n return (icon) =>\n !icon || icon.includes('/') ? icon : (icons[icon] ?? resolver(icon));\n}\n\nexport function tuiIconResolverProvider(useValue: TuiStringHandler<string>): Provider {\n return {provide: TUI_ICON_RESOLVER, useValue};\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiMedia {\n readonly desktopLarge: number;\n readonly desktopSmall: number;\n readonly mobile: number;\n readonly tablet?: number;\n}\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = tuiCreateToken<TuiMedia>({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n});\n","import type {InjectionToken, Provider} from '@angular/core';\nimport {Optional, SkipSelf} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport type {TuiRounding} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {map, of} from 'rxjs';\n\nexport type TuiDecimalMode = 'always' | 'not-zero' | 'pad';\nexport type TuiDecimalSymbol = ',' | '.';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport interface TuiNumberFormatSettings {\n /**\n * Number of digits of decimal part.\n * @note Use `Infinity` to keep untouched.\n */\n readonly precision: number;\n /**\n * Separator between the integer and the decimal part.\n * @example 0,42 (',' by default)\n */\n readonly decimalSeparator: TuiDecimalSymbol;\n /**\n * Rounding method.\n */\n readonly rounding: TuiRounding;\n /**\n * Separator between thousands.\n * @example 360 000 (' ' by default)\n */\n readonly thousandSeparator: string;\n /**\n * Decimal part display mode. ('not-zero' by default)\n */\n readonly decimalMode: TuiDecimalMode;\n}\n\nexport const TUI_DEFAULT_NUMBER_FORMAT: TuiNumberFormatSettings = {\n precision: NaN,\n decimalSeparator: '.',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n rounding: 'truncate',\n decimalMode: 'pad',\n};\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT: InjectionToken<Observable<TuiNumberFormatSettings>> =\n tuiCreateToken(of(TUI_DEFAULT_NUMBER_FORMAT));\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return {\n provide: TUI_NUMBER_FORMAT,\n deps: [[new Optional(), new SkipSelf(), TUI_NUMBER_FORMAT]],\n useFactory: (\n parent: Observable<TuiNumberFormatSettings> | null,\n ): Observable<TuiNumberFormatSettings> =>\n (parent || of(TUI_DEFAULT_NUMBER_FORMAT)).pipe(\n map((format) => ({...format, ...options})),\n ),\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_SCROLL_REF = tuiCreateTokenFromFactory(\n () => new ElementRef(inject(DOCUMENT).documentElement),\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {merge, share, switchMap, takeUntil} from 'rxjs';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = tuiCreateTokenFromFactory<Observable<unknown>>(() => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, 'selectionchange'),\n tuiTypedFromEvent(doc, 'mouseup'),\n tuiTypedFromEvent(doc, 'mousedown').pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, 'mousemove').pipe(\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, 'keydown'),\n tuiTypedFromEvent(doc, 'keyup'),\n ).pipe(share());\n});\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiSpinIcons {\n readonly decrement: string;\n readonly increment: string;\n}\n\nexport const TUI_SPIN_ICONS = tuiCreateToken<TuiSpinIcons>({\n decrement: '@tui.chevron-left',\n increment: '@tui.chevron-right',\n});\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_THEME = tuiCreateToken('Taiga UI');\n","import type {Provider, Type} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiRectAccessor} from '@taiga-ui/core/classes';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = tuiCreateTokenFromFactory<TuiRectAccessor>(() => {\n const win = inject(WA_WINDOW);\n\n return {\n type: 'viewport',\n getClientRect() {\n const {height = 0, offsetTop = 0} = win.visualViewport || {};\n const rect = {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: height + offsetTop || win.innerHeight,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n },\n };\n});\n\nexport function tuiAsViewport(accessor: Type<TuiRectAccessor>): Provider {\n return tuiProvide(TUI_VIEWPORT, accessor);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.34.0-canary.31e040a",
|
|
4
4
|
"description": "Core library for creating Angular components and applications using Taiga UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -127,6 +127,12 @@
|
|
|
127
127
|
"esm": "./esm2022/components/fullscreen/taiga-ui-core-components-fullscreen.mjs",
|
|
128
128
|
"default": "./fesm2022/taiga-ui-core-components-fullscreen.mjs"
|
|
129
129
|
},
|
|
130
|
+
"./components/icon": {
|
|
131
|
+
"types": "./components/icon/index.d.ts",
|
|
132
|
+
"esm2022": "./esm2022/components/icon/taiga-ui-core-components-icon.mjs",
|
|
133
|
+
"esm": "./esm2022/components/icon/taiga-ui-core-components-icon.mjs",
|
|
134
|
+
"default": "./fesm2022/taiga-ui-core-components-icon.mjs"
|
|
135
|
+
},
|
|
130
136
|
"./components/label": {
|
|
131
137
|
"types": "./components/label/index.d.ts",
|
|
132
138
|
"esm2022": "./esm2022/components/label/taiga-ui-core-components-label.mjs",
|
|
@@ -145,12 +151,6 @@
|
|
|
145
151
|
"esm": "./esm2022/components/loader/taiga-ui-core-components-loader.mjs",
|
|
146
152
|
"default": "./fesm2022/taiga-ui-core-components-loader.mjs"
|
|
147
153
|
},
|
|
148
|
-
"./components/icon": {
|
|
149
|
-
"types": "./components/icon/index.d.ts",
|
|
150
|
-
"esm2022": "./esm2022/components/icon/taiga-ui-core-components-icon.mjs",
|
|
151
|
-
"esm": "./esm2022/components/icon/taiga-ui-core-components-icon.mjs",
|
|
152
|
-
"default": "./fesm2022/taiga-ui-core-components-icon.mjs"
|
|
153
|
-
},
|
|
154
154
|
"./components/notification": {
|
|
155
155
|
"types": "./components/notification/index.d.ts",
|
|
156
156
|
"esm2022": "./esm2022/components/notification/taiga-ui-core-components-notification.mjs",
|
|
@@ -205,18 +205,18 @@
|
|
|
205
205
|
"esm": "./esm2022/directives/group/taiga-ui-core-directives-group.mjs",
|
|
206
206
|
"default": "./fesm2022/taiga-ui-core-directives-group.mjs"
|
|
207
207
|
},
|
|
208
|
-
"./directives/hint": {
|
|
209
|
-
"types": "./directives/hint/index.d.ts",
|
|
210
|
-
"esm2022": "./esm2022/directives/hint/taiga-ui-core-directives-hint.mjs",
|
|
211
|
-
"esm": "./esm2022/directives/hint/taiga-ui-core-directives-hint.mjs",
|
|
212
|
-
"default": "./fesm2022/taiga-ui-core-directives-hint.mjs"
|
|
213
|
-
},
|
|
214
208
|
"./directives/icons": {
|
|
215
209
|
"types": "./directives/icons/index.d.ts",
|
|
216
210
|
"esm2022": "./esm2022/directives/icons/taiga-ui-core-directives-icons.mjs",
|
|
217
211
|
"esm": "./esm2022/directives/icons/taiga-ui-core-directives-icons.mjs",
|
|
218
212
|
"default": "./fesm2022/taiga-ui-core-directives-icons.mjs"
|
|
219
213
|
},
|
|
214
|
+
"./directives/hint": {
|
|
215
|
+
"types": "./directives/hint/index.d.ts",
|
|
216
|
+
"esm2022": "./esm2022/directives/hint/taiga-ui-core-directives-hint.mjs",
|
|
217
|
+
"esm": "./esm2022/directives/hint/taiga-ui-core-directives-hint.mjs",
|
|
218
|
+
"default": "./fesm2022/taiga-ui-core-directives-hint.mjs"
|
|
219
|
+
},
|
|
220
220
|
"./directives/items-handlers": {
|
|
221
221
|
"types": "./directives/items-handlers/index.d.ts",
|
|
222
222
|
"esm2022": "./esm2022/directives/items-handlers/taiga-ui-core-directives-items-handlers.mjs",
|
|
@@ -329,9 +329,9 @@
|
|
|
329
329
|
"@angular/router": ">=16.0.0",
|
|
330
330
|
"@ng-web-apis/common": "^4.12.0",
|
|
331
331
|
"@ng-web-apis/mutation-observer": "^4.12.0",
|
|
332
|
-
"@taiga-ui/cdk": "^4.
|
|
332
|
+
"@taiga-ui/cdk": "^4.34.0",
|
|
333
333
|
"@taiga-ui/event-plugins": "^4.5.1",
|
|
334
|
-
"@taiga-ui/i18n": "^4.
|
|
334
|
+
"@taiga-ui/i18n": "^4.34.0",
|
|
335
335
|
"@taiga-ui/polymorpheus": "^4.9.0",
|
|
336
336
|
"rxjs": ">=7.0.0"
|
|
337
337
|
},
|
|
@@ -17,12 +17,14 @@
|
|
|
17
17
|
// TODO: Remove in v5
|
|
18
18
|
--tui-text-tertiary: var(--tui-text-secondary);
|
|
19
19
|
|
|
20
|
+
.transition(~'color, text-decoration, opacity');
|
|
21
|
+
|
|
20
22
|
padding: 0;
|
|
21
23
|
background: transparent;
|
|
22
24
|
border: none;
|
|
23
25
|
cursor: pointer;
|
|
24
26
|
font: inherit;
|
|
25
|
-
color:
|
|
27
|
+
color: var(--tui-text-primary);
|
|
26
28
|
text-decoration: none dashed currentColor;
|
|
27
29
|
text-underline-offset: 0.2em;
|
|
28
30
|
text-decoration-thickness: 0.7px;
|
|
@@ -53,12 +55,24 @@
|
|
|
53
55
|
box-sizing: border-box;
|
|
54
56
|
}
|
|
55
57
|
|
|
58
|
+
&[tuiChevron]::after {
|
|
59
|
+
display: inline-block;
|
|
60
|
+
}
|
|
61
|
+
|
|
56
62
|
.appearance-focus({
|
|
57
63
|
outline: none;
|
|
58
64
|
background: var(--tui-service-selection-background);
|
|
59
65
|
background: color-mix(in lch, currentColor 12%, transparent);
|
|
60
66
|
});
|
|
61
67
|
|
|
68
|
+
.appearance-hover({
|
|
69
|
+
text-decoration-color: currentColor;
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
.appearance-active({
|
|
73
|
+
text-decoration-color: currentColor;
|
|
74
|
+
});
|
|
75
|
+
|
|
62
76
|
@media @tui-mouse {
|
|
63
77
|
&[data-appearance='']:hover {
|
|
64
78
|
opacity: 0.7;
|
|
@@ -50,8 +50,8 @@ tui-textfield {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
label,
|
|
53
|
-
.t-content,
|
|
54
|
-
.t-template {
|
|
53
|
+
& > .t-content,
|
|
54
|
+
& > .t-template {
|
|
55
55
|
pointer-events: none;
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -98,7 +98,7 @@ tui-textfield {
|
|
|
98
98
|
padding-block-end: 0.5rem;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
.t-content {
|
|
101
|
+
& > .t-content {
|
|
102
102
|
margin-inline-end: -0.325rem;
|
|
103
103
|
}
|
|
104
104
|
}
|
|
@@ -134,7 +134,7 @@ tui-textfield {
|
|
|
134
134
|
padding-block-end: 0.875rem;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
.t-content {
|
|
137
|
+
& > .t-content {
|
|
138
138
|
margin-inline-end: -0.125rem;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
@@ -164,19 +164,19 @@ tui-textfield {
|
|
|
164
164
|
|
|
165
165
|
&:has(:disabled:not(.t-filler, button, option))::before,
|
|
166
166
|
&:has(:disabled:not(.t-filler, button, option))::after,
|
|
167
|
-
&:has(:disabled:not(.t-filler, button, option)) .t-template {
|
|
167
|
+
&:has(:disabled:not(.t-filler, button, option)) > .t-template {
|
|
168
168
|
opacity: var(--tui-disabled-opacity);
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
// TODO: Fallback until Safari 15.4
|
|
172
172
|
&._disabled::before,
|
|
173
173
|
&._disabled::after,
|
|
174
|
-
&._disabled .t-template {
|
|
174
|
+
&._disabled > .t-template {
|
|
175
175
|
opacity: var(--tui-disabled-opacity);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
&:has(label:not(:empty)) {
|
|
179
|
-
.t-template,
|
|
179
|
+
& > .t-template,
|
|
180
180
|
input:not([type='range']),
|
|
181
181
|
select:defined,
|
|
182
182
|
textarea:defined {
|
|
@@ -192,7 +192,7 @@ tui-textfield {
|
|
|
192
192
|
|
|
193
193
|
// TODO: Fallback until Safari 15.4
|
|
194
194
|
&._with-label {
|
|
195
|
-
.t-template,
|
|
195
|
+
& > .t-template,
|
|
196
196
|
input:not([type='range']),
|
|
197
197
|
select:defined,
|
|
198
198
|
textarea:defined {
|
|
@@ -206,7 +206,7 @@ tui-textfield {
|
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
.t-template,
|
|
209
|
+
& > .t-template,
|
|
210
210
|
input:defined,
|
|
211
211
|
select:defined,
|
|
212
212
|
textarea:defined {
|
|
@@ -222,7 +222,7 @@ tui-textfield {
|
|
|
222
222
|
padding-inline-end: calc(var(--t-right, ~'0rem') + var(--t-side) + var(--t-padding));
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
.t-template {
|
|
225
|
+
& > .t-template {
|
|
226
226
|
display: flex;
|
|
227
227
|
align-items: center;
|
|
228
228
|
color: var(--tui-text-primary);
|
|
@@ -315,13 +315,27 @@ tui-textfield {
|
|
|
315
315
|
color: var(--tui-text-secondary);
|
|
316
316
|
}
|
|
317
317
|
|
|
318
|
-
select
|
|
319
|
-
|
|
320
|
-
|
|
318
|
+
select {
|
|
319
|
+
&:not([data-mode~='readonly']) {
|
|
320
|
+
cursor: pointer;
|
|
321
|
+
}
|
|
321
322
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
323
|
+
option[value='']:disabled {
|
|
324
|
+
// Hide placeholder from native datalist (Windows OS only)
|
|
325
|
+
color: transparent;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
optgroup,
|
|
329
|
+
option {
|
|
330
|
+
// Windows OS only
|
|
331
|
+
background-color: var(--tui-background-elevation-3);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
optgroup,
|
|
335
|
+
option:not(:disabled) {
|
|
336
|
+
// In Windows OS native options inherit color of host <select>
|
|
337
|
+
color: var(--tui-text-primary);
|
|
338
|
+
}
|
|
325
339
|
}
|
|
326
340
|
|
|
327
341
|
button,
|
|
@@ -329,7 +343,7 @@ tui-textfield {
|
|
|
329
343
|
pointer-events: auto;
|
|
330
344
|
}
|
|
331
345
|
|
|
332
|
-
.t-content {
|
|
346
|
+
& > .t-content {
|
|
333
347
|
display: flex;
|
|
334
348
|
block-size: var(--t-height);
|
|
335
349
|
align-items: center;
|
|
@@ -353,7 +367,7 @@ tui-textfield {
|
|
|
353
367
|
pointer-events: auto;
|
|
354
368
|
}
|
|
355
369
|
|
|
356
|
-
.t-filler:defined {
|
|
370
|
+
& > .t-filler:defined {
|
|
357
371
|
pointer-events: none;
|
|
358
372
|
background: none;
|
|
359
373
|
color: var(--tui-text-tertiary);
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
// TODO remove @speed in 5.0
|
|
92
93
|
// transition
|
|
93
94
|
.transition(@param: all, @speed: var(--tui-duration, 300ms)) {
|
|
94
95
|
transition-property: @param;
|
|
@@ -158,3 +159,12 @@
|
|
|
158
159
|
min-inline-size: 0;
|
|
159
160
|
max-inline-size: max-content;
|
|
160
161
|
}
|
|
162
|
+
|
|
163
|
+
.tui-line-clamp(@count: 3) {
|
|
164
|
+
display: -webkit-box;
|
|
165
|
+
-webkit-box-orient: vertical;
|
|
166
|
+
-webkit-line-clamp: @count;
|
|
167
|
+
line-clamp: @count;
|
|
168
|
+
overflow: hidden;
|
|
169
|
+
text-overflow: ellipsis;
|
|
170
|
+
}
|
|
@@ -152,3 +152,12 @@
|
|
|
152
152
|
min-inline-size: 0;
|
|
153
153
|
max-inline-size: max-content;
|
|
154
154
|
}
|
|
155
|
+
|
|
156
|
+
@mixin tui-line-clamp($count: 3) {
|
|
157
|
+
display: -webkit-box;
|
|
158
|
+
-webkit-box-orient: vertical;
|
|
159
|
+
-webkit-line-clamp: $count;
|
|
160
|
+
line-clamp: $count;
|
|
161
|
+
overflow: hidden;
|
|
162
|
+
text-overflow: ellipsis;
|
|
163
|
+
}
|
|
@@ -70,7 +70,6 @@
|
|
|
70
70
|
[tuiTheme='dark'] [tuiAppearance][data-appearance='textfield'],
|
|
71
71
|
[tuiTheme='dark'][tuiAppearance][data-appearance='textfield'] {
|
|
72
72
|
background-color: var(--tui-background-neutral-1);
|
|
73
|
-
color-scheme: dark;
|
|
74
73
|
|
|
75
74
|
.appearance-hover({
|
|
76
75
|
background-color: var(--tui-background-neutral-1-hover);
|