UNPKG

flowbite-angular

Version:

<div align="center"> <h1>:construction: flowbite-angular (unreleased) :construction:</h1> <p> <a href="https://flowbite.com"> <img alt="Flowbite - Tailwind CSS components" width="350" src="https://flowbite.s3.amazonaws.com/github/logo-github

1 lines 18.7 kB
{"version":3,"file":"flowbite-angular-indicator.mjs","sources":["../../../../libs/flowbite-angular/indicator/indicators.theme.service.ts","../../../../libs/flowbite-angular/indicator/indicators.component.ts","../../../../libs/flowbite-angular/indicator/indicators.theme.ts","../../../../libs/flowbite-angular/indicator/flowbite-angular-indicator.ts"],"sourcesContent":["import type { indicatorClass, IndicatorProperties, IndicatorTheme } from './indicators.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `IndicatorTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_INDICATOR_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_INDICATOR_THEME_TOKEN = new InjectionToken<IndicatorTheme>(\n 'FLOWBITE_INDICATOR_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IndicatorThemeService implements FlowbiteThemeService<IndicatorProperties> {\n private readonly baseTheme = inject(FLOWBITE_INDICATOR_THEME_TOKEN);\n\n public getClasses(properties: IndicatorProperties): indicatorClass {\n const theme: IndicatorTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: indicatorClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.hasBorder[properties.hasBorder],\n theme.root.color[properties.color],\n theme.root.isDisabled[properties.isDisabled],\n properties.placement &&\n properties.hasOffset == 'enabled' &&\n theme.root.hasOffset[properties.placement],\n theme.root.isOutline[properties.isOutline],\n theme.root.isPill[properties.isPill],\n properties.placement && 'absolute ' + theme.root.placement[properties.placement],\n theme.root.isRounded[properties.isRounded],\n theme.root.size[properties.size]\n ),\n };\n\n return output;\n }\n}\n","import type {\n indicatorClass,\n IndicatorColors,\n IndicatorPositions,\n IndicatorSizes,\n IndicatorTheme,\n} from './indicators.theme';\nimport { IndicatorThemeService } from './indicators.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE = new InjectionToken<keyof IndicatorColors>(\n 'FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE = new InjectionToken<keyof IndicatorSizes>(\n 'FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE = new InjectionToken<\n keyof IndicatorPositions | undefined\n>('FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE');\n\nexport const FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<IndicatorTheme>\n>('FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const indicatorDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE,\n useValue: 'md',\n },\n {\n provide: FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE,\n useValue: undefined,\n },\n {\n provide: FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/indicators/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-indicator',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndicatorComponent extends BaseComponent<indicatorClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(IndicatorThemeService);\n\n //#region properties\n /**\n * Set if the indicator is pill\n *\n * @default false\n */\n public isPill = model(inject(FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE));\n /**\n * Set if the indicator is outline\n *\n * @default false\n */\n public isOutline = model(inject(FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE));\n /**\n * Set if the indicator is disable\n *\n * @default false\n */\n public isDisabled = model(inject(FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE));\n /**\n * Set if the indicator has offset\n *\n * @default false\n */\n public hasOffset = model(inject(FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE));\n /**\n * Set if the indicator is rounded\n *\n * @default false\n */\n public isRounded = model(inject(FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE));\n /**\n * Set if the indicator has border\n *\n * @default false\n */\n public hasBorder = model(inject(FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE));\n /**\n * Set the indicator color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE));\n /**\n * Set the indicator size\n *\n * @default md\n */\n public size = model(inject(FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE));\n /**\n * Set the indicator placement\n *\n * @default undefined\n */\n public placement = model(inject(FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE));\n /**\n * Set the custom style for this indicator\n */\n public customStyle = model(inject(FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): indicatorClass {\n return this.themeService.getClasses({\n hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),\n color: this.color(),\n isDisabled: booleanToFlowbiteBoolean(this.isDisabled()),\n hasOffset: booleanToFlowbiteBoolean(this.hasOffset()),\n isOutline: booleanToFlowbiteBoolean(this.isOutline()),\n isPill: booleanToFlowbiteBoolean(this.isPill()),\n isRounded: booleanToFlowbiteBoolean(this.isRounded()),\n size: this.size(),\n placement: this.placement(),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n DeepPartial,\n FlowbiteBoolean,\n FlowbiteClass,\n FlowbiteColors,\n FlowbitePositions,\n FlowbiteSizes,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `IndicatorComponent`\n */\nexport interface IndicatorColors\n extends Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'gray' | 'blue' | 'green' | 'red' | 'purple' | 'indigo' | 'yellow' | 'teal'\n > {\n [key: string]: string;\n}\n\n/**\n * Available sizes for `IndicatorComponent`\n */\nexport interface IndicatorSizes extends Pick<FlowbiteSizes, 'xs' | 'sm' | 'md' | 'lg' | 'xl'> {\n [key: string]: string;\n}\n\n/**\n * Available positions for `IndicatorComponent`\n */\nexport interface IndicatorPositions\n extends Pick<\n FlowbitePositions,\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'center-left'\n | 'center'\n | 'center-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n > {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `IndicatorComponent`\n */\nexport interface IndicatorProperties {\n isPill: keyof FlowbiteBoolean;\n isOutline: keyof FlowbiteBoolean;\n isDisabled: keyof FlowbiteBoolean;\n hasOffset: keyof FlowbiteBoolean;\n isRounded: keyof FlowbiteBoolean;\n hasBorder: keyof FlowbiteBoolean;\n color: keyof IndicatorColors;\n size: keyof IndicatorSizes;\n placement?: keyof IndicatorPositions;\n customStyle: DeepPartial<IndicatorTheme>;\n}\n\n/**\n * Theme definition for `IndicatorComponent`\n */\nexport interface IndicatorTheme {\n root: {\n base: string;\n isPill: FlowbiteBoolean;\n isOutline: FlowbiteBoolean;\n isDisabled: FlowbiteBoolean;\n hasOffset: IndicatorPositions;\n isRounded: FlowbiteBoolean;\n hasBorder: FlowbiteBoolean;\n color: IndicatorColors;\n size: IndicatorSizes;\n placement: IndicatorPositions;\n };\n}\n\n/**\n * Default theme for `IndicatorComponent`\n */\nexport const indicatorTheme: IndicatorTheme = createTheme({\n root: {\n base: 'inline-flex items-center justify-center shrink-0 font-bold',\n hasBorder: {\n enabled: 'border-2',\n disabled: '',\n },\n color: {\n dark: 'bg-gray-900 dark:bg-gray-700 border-white dark:border-gray-800 text-white',\n primary: 'bg-primary-500 border-white dark:border-gray-800 text-white',\n gray: 'bg-gray-200 border-white dark:border-gray-800 text-gray-900',\n blue: 'bg-blue-600 border-white dark:border-gray-800 text-white',\n green: 'bg-green-500 border-white dark:border-gray-800 text-white',\n red: 'bg-red-500 border-white dark:border-gray-800 text-white',\n purple: 'bg-purple-500 border-white dark:border-gray-800 text-white',\n indigo: 'bg-indigo-500 border-white dark:border-gray-800 text-white',\n yellow: 'bg-yellow-300 border-white dark:border-gray-800 text-gray-900',\n teal: 'bg-teal-500 border-white dark:border-gray-800 text-white',\n },\n isDisabled: {\n enabled: 'opacity-50',\n disabled: '',\n },\n hasOffset: {\n 'top-left': '-translate-x-1/3 -translate-y-1/3',\n 'top-center': '-translate-y-1/3',\n 'top-right': 'translate-x-1/3 -translate-y-1/3',\n 'center-left': '-translate-x-1/3',\n center: '',\n 'center-right': 'translate-x-1/3',\n 'bottom-left': '-translate-x-1/3 translate-y-1/3',\n 'bottom-center': 'translate-y-1/3',\n 'bottom-right': 'translate-x-1/3 translate-y-1/3',\n },\n placement: {\n 'top-left': 'top-0 left-0',\n 'top-center': 'top-0 left-1/2 -translate-x-1/2',\n 'top-right': 'top-0 right-0',\n 'center-left': 'top-1/2 -translate-y-1/2 left-0',\n center: 'top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2',\n 'center-right': 'top-1/2 -translate-y-1/2 right-0',\n 'bottom-left': 'bottom-0 left-0',\n 'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2',\n 'bottom-right': 'bottom-0 right-0',\n },\n isOutline: {\n enabled: '',\n disabled: '',\n },\n isPill: {\n enabled: '',\n disabled: '',\n },\n isRounded: {\n enabled: 'rounded',\n disabled: 'rounded-full',\n },\n size: {\n xs: 'w-2 h-2 text-xs',\n sm: 'w-2.5 h-2.5 text-sm',\n md: 'w-3 h-3 text-sm',\n lg: 'w-3.5 h-3.5 text-sm',\n xl: 'w-6 h-6 text-sm',\n },\n },\n});\n\n/**\n * Generated class definition for `IndicatorComponent`\n */\nexport type indicatorClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}