@spartan-ng/brain 0.0.1-alpha.707 → 0.0.1-alpha.708
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/fesm2022/spartan-ng-brain-accordion.mjs +30 -30
- package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +19 -19
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-autocomplete.mjs +89 -102
- package/fesm2022/spartan-ng-brain-autocomplete.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-avatar.mjs +15 -15
- package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-button.mjs +4 -4
- package/fesm2022/spartan-ng-brain-button.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-calendar.mjs +120 -127
- package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-checkbox.mjs +24 -24
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs +17 -17
- package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-combobox.mjs +151 -178
- package/fesm2022/spartan-ng-brain-combobox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-command.mjs +43 -52
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-core.mjs +5 -5
- package/fesm2022/spartan-ng-brain-core.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-date-time-luxon.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-dialog.mjs +72 -86
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-field.mjs +38 -43
- package/fesm2022/spartan-ng-brain-field.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-forms.mjs +20 -20
- package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-hover-card.mjs +24 -32
- package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-input-otp.mjs +23 -25
- package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-input.mjs +6 -6
- package/fesm2022/spartan-ng-brain-input.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-label.mjs +6 -6
- package/fesm2022/spartan-ng-brain-label.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-navigation-menu.mjs +49 -53
- package/fesm2022/spartan-ng-brain-navigation-menu.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-popover.mjs +13 -15
- package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-progress.mjs +11 -13
- package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-radio-group.mjs +28 -34
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-resizable.mjs +23 -23
- package/fesm2022/spartan-ng-brain-resizable.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs +102 -105
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-separator.mjs +7 -7
- package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sheet.mjs +24 -24
- package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-slider.mjs +52 -76
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sonner.mjs +108 -132
- package/fesm2022/spartan-ng-brain-sonner.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs +21 -23
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs +36 -39
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-textarea.mjs +6 -6
- package/fesm2022/spartan-ng-brain-textarea.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle-group.mjs +21 -27
- package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs +10 -12
- package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tooltip.mjs +27 -27
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/hlm-tailwind-preset.css +6 -6
- package/package.json +44 -43
- package/{autocomplete/index.d.ts → types/spartan-ng-brain-autocomplete.d.ts} +10 -10
- package/{calendar/index.d.ts → types/spartan-ng-brain-calendar.d.ts} +2 -2
- package/{combobox/index.d.ts → types/spartan-ng-brain-combobox.d.ts} +10 -10
- package/{dialog/index.d.ts → types/spartan-ng-brain-dialog.d.ts} +1 -1
- package/{hover-card/index.d.ts → types/spartan-ng-brain-hover-card.d.ts} +1 -1
- package/{select/index.d.ts → types/spartan-ng-brain-select.d.ts} +11 -11
- /package/{accordion/index.d.ts → types/spartan-ng-brain-accordion.d.ts} +0 -0
- /package/{alert-dialog/index.d.ts → types/spartan-ng-brain-alert-dialog.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/spartan-ng-brain-avatar.d.ts} +0 -0
- /package/{button/index.d.ts → types/spartan-ng-brain-button.d.ts} +0 -0
- /package/{checkbox/index.d.ts → types/spartan-ng-brain-checkbox.d.ts} +0 -0
- /package/{collapsible/index.d.ts → types/spartan-ng-brain-collapsible.d.ts} +0 -0
- /package/{command/index.d.ts → types/spartan-ng-brain-command.d.ts} +0 -0
- /package/{core/index.d.ts → types/spartan-ng-brain-core.d.ts} +0 -0
- /package/{date-time-luxon/index.d.ts → types/spartan-ng-brain-date-time-luxon.d.ts} +0 -0
- /package/{date-time/index.d.ts → types/spartan-ng-brain-date-time.d.ts} +0 -0
- /package/{field/index.d.ts → types/spartan-ng-brain-field.d.ts} +0 -0
- /package/{forms/index.d.ts → types/spartan-ng-brain-forms.d.ts} +0 -0
- /package/{input-otp/index.d.ts → types/spartan-ng-brain-input-otp.d.ts} +0 -0
- /package/{input/index.d.ts → types/spartan-ng-brain-input.d.ts} +0 -0
- /package/{label/index.d.ts → types/spartan-ng-brain-label.d.ts} +0 -0
- /package/{navigation-menu/index.d.ts → types/spartan-ng-brain-navigation-menu.d.ts} +0 -0
- /package/{popover/index.d.ts → types/spartan-ng-brain-popover.d.ts} +0 -0
- /package/{progress/index.d.ts → types/spartan-ng-brain-progress.d.ts} +0 -0
- /package/{radio-group/index.d.ts → types/spartan-ng-brain-radio-group.d.ts} +0 -0
- /package/{resizable/index.d.ts → types/spartan-ng-brain-resizable.d.ts} +0 -0
- /package/{separator/index.d.ts → types/spartan-ng-brain-separator.d.ts} +0 -0
- /package/{sheet/index.d.ts → types/spartan-ng-brain-sheet.d.ts} +0 -0
- /package/{slider/index.d.ts → types/spartan-ng-brain-slider.d.ts} +0 -0
- /package/{sonner/index.d.ts → types/spartan-ng-brain-sonner.d.ts} +0 -0
- /package/{switch/index.d.ts → types/spartan-ng-brain-switch.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/spartan-ng-brain-tabs.d.ts} +0 -0
- /package/{textarea/index.d.ts → types/spartan-ng-brain-textarea.d.ts} +0 -0
- /package/{toggle-group/index.d.ts → types/spartan-ng-brain-toggle-group.d.ts} +0 -0
- /package/{toggle/index.d.ts → types/spartan-ng-brain-toggle.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/spartan-ng-brain-tooltip.d.ts} +0 -0
- /package/{index.d.ts → types/spartan-ng-brain.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-sonner.mjs","sources":["../../../../libs/brain/sonner/src/lib/brn-icon.ts","../../../../libs/brain/sonner/src/lib/brn-loader.ts","../../../../libs/brain/sonner/src/lib/brn-toaster.token.ts","../../../../libs/brain/sonner/src/lib/pipes/as-component.pipe.ts","../../../../libs/brain/sonner/src/lib/pipes/is-string.pipe.ts","../../../../libs/brain/sonner/src/lib/state.ts","../../../../libs/brain/sonner/src/lib/brn-toast.ts","../../../../libs/brain/sonner/src/lib/pipes/toast-filter.pipe.ts","../../../../libs/brain/sonner/src/lib/brn-toaster.ts","../../../../libs/brain/sonner/src/index.ts","../../../../libs/brain/sonner/src/spartan-ng-brain-sonner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport type { ToastTypes } from './types';\n\n@Component({\n\tselector: 'brn-sonner-icon',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t@switch (type()) {\n\t\t\t@case ('success') {\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\td=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\"\n\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t\t@case ('error') {\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\td=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\"\n\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t\t@case ('info') {\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\td=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z\"\n\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t\t@case ('warning') {\n\t\t\t\t<svg viewBox=\"0 0 64 64\" fill=\"currentColor\" height=\"20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M32.427,7.987c2.183,0.124 4,1.165 5.096,3.281l17.936,36.208c1.739,3.66 -0.954,8.585 -5.373,8.656l-36.119,0c-4.022,-0.064 -7.322,-4.631 -5.352,-8.696l18.271,-36.207c0.342,-0.65 0.498,-0.838 0.793,-1.179c1.186,-1.375 2.483,-2.111 4.748,-2.063Zm-0.295,3.997c-0.687,0.034 -1.316,0.419 -1.659,1.017c-6.312,11.979 -12.397,24.081 -18.301,36.267c-0.546,1.225 0.391,2.797 1.762,2.863c12.06,0.195 24.125,0.195 36.185,0c1.325,-0.064 2.321,-1.584 1.769,-2.85c-5.793,-12.184 -11.765,-24.286 -17.966,-36.267c-0.366,-0.651 -0.903,-1.042 -1.79,-1.03Z\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M33.631,40.581l-3.348,0l-0.368,-16.449l4.1,0l-0.384,16.449Zm-3.828,5.03c0,-0.609 0.197,-1.113 0.592,-1.514c0.396,-0.4 0.935,-0.601 1.618,-0.601c0.684,0 1.223,0.201 1.618,0.601c0.395,0.401 0.593,0.905 0.593,1.514c0,0.587 -0.193,1.078 -0.577,1.473c-0.385,0.395 -0.929,0.593 -1.634,0.593c-0.705,0 -1.249,-0.198 -1.634,-0.593c-0.384,-0.395 -0.576,-0.886 -0.576,-1.473Z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t}\n\t`,\n})\nexport class BrnSonnerIcon {\n\tpublic readonly type = input<ToastTypes>('default');\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n\tselector: 'brn-sonner-loader',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<div class=\"sonner-loading-wrapper\" [attr.data-visible]=\"isVisible()\">\n\t\t\t<div class=\"sonner-spinner\">\n\t\t\t\t@for (_ of _bars; track $index) {\n\t\t\t\t\t<div class=\"sonner-loading-bar\"></div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t`,\n})\nexport class BrnSonnerLoader {\n\tpublic readonly isVisible = input.required<boolean, BooleanInput>({ transform: booleanAttribute });\n\tprotected readonly _bars = Array(12).fill(0);\n}\n","import { inject, InjectionToken, type ValueProvider } from '@angular/core';\nimport type { ToastClassnames } from './types';\n\nexport interface BrnSonnerToasterConfig {\n\t/** The maximum number of toasts visible at once */\n\tvisibleToastsAmount: number;\n\t/** The offset from the viewport for the toast container */\n\tviewPortOffset: string;\n\t/** The default lifetime of a toast in milliseconds */\n\ttoastLifetime: number;\n\t/** The width of the toast in pixels */\n\ttoastWidth: number;\n\t/** The gap between toasts in pixels */\n\tgap: number;\n\t/** The threshold in pixels for swipe to dismiss a toast */\n\tswipeThreshold: number;\n\t/** The time in milliseconds before a toast is unmounted */\n\ttimeBeforeUnmount: number;\n}\n\nconst defaultConfig: BrnSonnerToasterConfig = {\n\tvisibleToastsAmount: 3,\n\tviewPortOffset: '32px',\n\ttoastLifetime: 4000,\n\ttoastWidth: 356,\n\tgap: 14,\n\tswipeThreshold: 20,\n\ttimeBeforeUnmount: 200,\n};\n\nconst BrnSonnerToasterConfigToken = new InjectionToken<BrnSonnerToasterConfig>('BrnSonnerToasterConfig');\n\nexport function provideBrnSonnerToasterConfig(config: Partial<BrnSonnerToasterConfig>): ValueProvider {\n\treturn { provide: BrnSonnerToasterConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnSonnerToasterConfig(): BrnSonnerToasterConfig {\n\treturn inject(BrnSonnerToasterConfigToken, { optional: true }) ?? defaultConfig;\n}\n\nexport const defaultClasses: ToastClassnames = {\n\ttoast: '',\n\ttitle: '',\n\tdescription: '',\n\tloader: '',\n\tcloseButton: '',\n\tcancelButton: '',\n\tactionButton: '',\n\taction: '',\n\twarning: '',\n\terror: '',\n\tsuccess: '',\n\tdefault: '',\n\tinfo: '',\n\tloading: '',\n};\n","import { Pipe, PipeTransform, Type } from '@angular/core';\n\n@Pipe({ name: 'asComponent' })\nexport class AsComponentPipe implements PipeTransform {\n\ttransform(value: unknown): Type<unknown> {\n\t\treturn value as Type<unknown>;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isString' })\nexport class IsStringPipe implements PipeTransform {\n\ttransform(value: unknown): boolean {\n\t\treturn typeof value === 'string';\n\t}\n}\n","import { signal, type Type } from '@angular/core';\nimport type { ExternalToast, HeightT, PromiseData, PromiseT, ToastT, ToastTypes } from './types';\n\nlet toastsCounter = 0;\n\nfunction createToastState() {\n\tconst toasts = signal<ToastT[]>([]);\n\tconst heights = signal<HeightT[]>([]);\n\n\tfunction addToast(data: ToastT) {\n\t\ttoasts.update((prev) => [data, ...prev]);\n\t}\n\n\tfunction create(\n\t\tdata: ExternalToast & {\n\t\t\tmessage?: string | Type<unknown>;\n\t\t\ttype?: ToastTypes;\n\t\t\tpromise?: PromiseT;\n\t\t},\n\t) {\n\t\tconst { message, ...rest } = data;\n\t\tconst id = typeof data?.id === 'number' || (data.id && data.id?.length > 0) ? data.id : toastsCounter++;\n\n\t\tconst dismissible = data.dismissible ?? true;\n\t\tconst type = data.type ?? 'default';\n\n\t\tconst alreadyExists = toasts().find((toast) => toast.id === id);\n\n\t\tif (alreadyExists) {\n\t\t\ttoasts.update((prev) =>\n\t\t\t\tprev.map((toast) => {\n\t\t\t\t\tif (toast.id === id) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...toast,\n\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\ttitle: message,\n\t\t\t\t\t\t\tdismissible,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tupdated: true,\n\t\t\t\t\t\t};\n\t\t\t\t\t} else return { ...toast, updated: false };\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\taddToast({ ...rest, id, title: message, dismissible: dismissible, type });\n\t\t}\n\n\t\treturn id;\n\t}\n\n\tfunction dismiss(id?: number | string) {\n\t\tif (id === undefined) {\n\t\t\ttoasts.set([]);\n\t\t\treturn;\n\t\t}\n\t\ttoasts.update((prev) => prev.filter((toast) => toast.id !== id));\n\n\t\treturn id;\n\t}\n\n\tfunction message(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'default', message });\n\t}\n\n\tfunction error(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'error', message });\n\t}\n\n\tfunction success(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'success', message });\n\t}\n\n\tfunction info(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'info', message });\n\t}\n\n\tfunction warning(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'warning', message });\n\t}\n\n\tfunction loading(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'loading', message });\n\t}\n\n\tfunction promise<ToastData>(promise: PromiseT<ToastData>, data?: PromiseData<ToastData>) {\n\t\tif (!data) return;\n\n\t\tlet id: string | number | undefined = undefined;\n\t\tif (data.loading !== undefined) {\n\t\t\tid = create({\n\t\t\t\t...data,\n\t\t\t\tpromise,\n\t\t\t\ttype: 'loading',\n\t\t\t\tmessage: data.loading,\n\t\t\t});\n\t\t}\n\n\t\tconst p = promise instanceof Promise ? promise : promise();\n\n\t\tlet shouldDismiss = id !== undefined;\n\n\t\tp.then((response) => {\n\t\t\t// @ts-expect-error: Incorrect response type\n\t\t\tif (response && typeof response.ok === 'boolean' && !response.ok) {\n\t\t\t\tshouldDismiss = false;\n\n\t\t\t\tconst message =\n\t\t\t\t\ttypeof data.error === 'function'\n\t\t\t\t\t\t? // @ts-expect-error: TODO: Better function checking\n\t\t\t\t\t\t\tdata.error(`HTTP error! status: ${response.status}`)\n\t\t\t\t\t\t: data.error;\n\t\t\t\tcreate({ id, type: 'error', message });\n\t\t\t} else if (data.success !== undefined) {\n\t\t\t\tshouldDismiss = false;\n\n\t\t\t\tconst message =\n\t\t\t\t\ttypeof data.success === 'function'\n\t\t\t\t\t\t? // @ts-expect-error: TODO: Better function checking\n\t\t\t\t\t\t\tdata.success(response)\n\t\t\t\t\t\t: data.success;\n\t\t\t\tcreate({ id, type: 'success', message });\n\t\t\t}\n\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (data.error !== undefined) {\n\t\t\t\t\tshouldDismiss = false;\n\t\t\t\t\tconst message =\n\t\t\t\t\t\t// @ts-expect-error: TODO: Better function checking\n\t\t\t\t\t\ttypeof data.error === 'function' ? data.error(error) : data.error;\n\t\t\t\t\tcreate({ id, type: 'error', message });\n\t\t\t\t}\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tif (shouldDismiss) {\n\t\t\t\t\t// Toast is still in load state (and will be indefinitely — dismiss it)\n\t\t\t\t\tdismiss(id);\n\t\t\t\t\tid = undefined;\n\t\t\t\t}\n\n\t\t\t\tdata.finally?.();\n\t\t\t});\n\n\t\treturn id;\n\t}\n\n\tfunction custom<T>(component: Type<T>, data?: ExternalToast) {\n\t\tconst id = data?.id ?? toastsCounter++;\n\t\tcreate({ component, id, ...data });\n\n\t\treturn id;\n\t}\n\n\tfunction removeHeight(id: number | string) {\n\t\theights.update((prev) => prev.filter((height) => height.toastId !== id));\n\t}\n\n\tfunction addHeight(height: HeightT) {\n\t\theights.update((prev) => [height, ...prev].sort(sortHeights));\n\t}\n\n\tconst sortHeights = (a: HeightT, b: HeightT) =>\n\t\ttoasts().findIndex((t) => t.id === a.toastId) - toasts().findIndex((t) => t.id === b.toastId);\n\n\tfunction reset() {\n\t\ttoasts.set([]);\n\t\theights.set([]);\n\t}\n\n\treturn {\n\t\t//methods\n\t\tcreate,\n\t\taddToast,\n\t\tdismiss,\n\t\tmessage,\n\t\terror,\n\t\tsuccess,\n\t\tinfo,\n\t\twarning,\n\t\tloading,\n\t\tpromise,\n\t\tcustom,\n\t\tremoveHeight,\n\t\taddHeight,\n\t\treset,\n\t\t// signals\n\t\ttoasts: toasts.asReadonly(),\n\t\theights: heights.asReadonly(),\n\t};\n}\n\nexport const toastState = createToastState();\n\n// bind this to the toast function\nfunction toastFunction(message: string | Type<unknown>, data?: ExternalToast) {\n\treturn toastState.create({\n\t\tmessage,\n\t\t...data,\n\t});\n}\n\nconst basicToast = toastFunction;\n\nexport const toast = Object.assign(basicToast, {\n\tsuccess: toastState.success,\n\tinfo: toastState.info,\n\twarning: toastState.warning,\n\terror: toastState.error,\n\tcustom: toastState.custom,\n\tmessage: toastState.message,\n\tpromise: toastState.promise,\n\tdismiss: toastState.dismiss,\n\tloading: toastState.loading,\n});\n","import { NgComponentOutlet } from '@angular/common';\nimport {\n\tafterRenderEffect,\n\ttype AfterViewInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tElementRef,\n\tinput,\n\tlinkedSignal,\n\ttype OnDestroy,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport clsx from 'clsx';\nimport { defaultClasses, injectBrnSonnerToasterConfig } from './brn-toaster.token';\nimport { AsComponentPipe } from './pipes/as-component.pipe';\nimport { IsStringPipe } from './pipes/is-string.pipe';\nimport { toastState } from './state';\nimport type { ToastProps } from './types';\n\n@Component({\n\tselector: 'brn-sonner-toast',\n\timports: [NgComponentOutlet, IsStringPipe, AsComponentPipe],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<li\n\t\t\t#toastRef\n\t\t\tdata-sonner-toast\n\t\t\t[attr.aria-live]=\"toast().important ? 'assertive' : 'polite'\"\n\t\t\taria-atomic=\"true\"\n\t\t\trole=\"status\"\n\t\t\ttabindex=\"0\"\n\t\t\t[class]=\"_toastClasses()\"\n\t\t\t[attr.data-styled]=\"!(toast().component || toast().unstyled || unstyled())\"\n\t\t\t[attr.data-mounted]=\"_mounted()\"\n\t\t\t[attr.data-promise]=\"!!toast().promise\"\n\t\t\t[attr.data-removed]=\"_removed()\"\n\t\t\t[attr.data-visible]=\"_isVisible()\"\n\t\t\t[attr.data-y-position]=\"_coords()[0]\"\n\t\t\t[attr.data-x-position]=\"_coords()[1]\"\n\t\t\t[attr.data-index]=\"index()\"\n\t\t\t[attr.data-front]=\"_isFront()\"\n\t\t\t[attr.data-swiping]=\"_swiping()\"\n\t\t\t[attr.data-dismissible]=\"toast().dismissible\"\n\t\t\t[attr.data-type]=\"_toastType()\"\n\t\t\t[attr.data-invert]=\"_invert()\"\n\t\t\t[attr.data-swipe-out]=\"_swipeOut()\"\n\t\t\t[attr.data-expanded]=\"expanded() || (expandByDefault() && _mounted())\"\n\t\t\t[style]=\"_toastStyle()\"\n\t\t\t(pointerdown)=\"onPointerDown($event)\"\n\t\t\t(pointerup)=\"onPointerUp()\"\n\t\t\t(pointermove)=\"onPointerMove($event)\"\n\t\t>\n\t\t\t@if (_closeButton() && !toast().component) {\n\t\t\t\t<button\n\t\t\t\t\taria-label=\"Close toast\"\n\t\t\t\t\t[attr.data-disabled]=\"_disabled()\"\n\t\t\t\t\tdata-close-button\n\t\t\t\t\t(click)=\"onCloseButtonClick()\"\n\t\t\t\t\t[class]=\"_closeButtonClasses()\"\n\t\t\t\t>\n\t\t\t\t\t<svg\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\twidth=\"12\"\n\t\t\t\t\t\theight=\"12\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n\t\t\t\t\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t}\n\n\t\t\t@if (toast().component) {\n\t\t\t\t<ng-container *ngComponentOutlet=\"toast().component | asComponent; inputs: toast().componentProps\" />\n\t\t\t} @else {\n\t\t\t\t@if (_toastType() !== 'default' || toast().icon || toast().promise) {\n\t\t\t\t\t<div data-icon>\n\t\t\t\t\t\t@if (_toastType() === 'loading' && !toast().icon) {\n\t\t\t\t\t\t\t<ng-content select=\"[loading-icon]\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (toast().icon) {\n\t\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"toast().icon | asComponent; inputs: toast().componentProps\" />\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t@switch (_toastType()) {\n\t\t\t\t\t\t\t\t@case ('success') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[success-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@case ('error') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[error-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@case ('warning') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[warning-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@case ('info') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[info-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t<div data-content>\n\t\t\t\t\t@if (toast().title; as title) {\n\t\t\t\t\t\t<div data-title [class]=\"_titleClasses()\">\n\t\t\t\t\t\t\t@if (title | isString) {\n\t\t\t\t\t\t\t\t{{ toast().title }}\n\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"title | asComponent; inputs: toast().componentProps\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\t@if (toast().description; as description) {\n\t\t\t\t\t\t<div data-description [class]=\"_toastDescriptionClasses()\">\n\t\t\t\t\t\t\t@if (description | isString) {\n\t\t\t\t\t\t\t\t{{ toast().description }}\n\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"description | asComponent; inputs: toast().componentProps\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t@if (toast().cancel; as cancel) {\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-button\n\t\t\t\t\t\tdata-cancel\n\t\t\t\t\t\t[style]=\"cancelButtonStyle() ?? toast().cancelButtonStyle\"\n\t\t\t\t\t\t[class]=\"_cancelButtonClasses()\"\n\t\t\t\t\t\t(click)=\"onCancelClick()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancel.label }}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t\t@if (toast().action; as action) {\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-button\n\t\t\t\t\t\t[style]=\"actionButtonStyle() ?? toast().actionButtonStyle\"\n\t\t\t\t\t\t[class]=\"_actionButtonClasses()\"\n\t\t\t\t\t\t(click)=\"onActionClick($event)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ action.label }}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t}\n\t\t</li>\n\t`,\n})\nexport class BrnSonnerToast implements AfterViewInit, OnDestroy {\n\tprivate readonly _config = injectBrnSonnerToasterConfig();\n\n\tprotected readonly _toasts = computed(() => toastState.toasts().filter((t) => t.position === this.position()));\n\tprotected readonly _heights = computed(() => toastState.heights().filter((h) => h.position === this.position()));\n\tprotected readonly _removeHeight = toastState.removeHeight;\n\tprotected readonly _addHeight = toastState.addHeight;\n\tprotected readonly _dismiss = toastState.dismiss;\n\n\tpublic readonly toast = input.required<ToastProps['toast']>();\n\tpublic readonly index = input.required<ToastProps['index']>();\n\tpublic readonly expanded = input.required<ToastProps['expanded']>();\n\tpublic readonly invert = input.required<ToastProps['invert']>();\n\tpublic readonly position = input.required<ToastProps['position']>();\n\tpublic readonly visibleToasts = input.required<ToastProps['visibleToasts']>();\n\tpublic readonly expandByDefault = input.required<ToastProps['expandByDefault']>();\n\tpublic readonly closeButton = input.required<ToastProps['closeButton']>();\n\tpublic readonly interacting = input.required<ToastProps['interacting']>();\n\tpublic readonly cancelButtonStyle = input<ToastProps['cancelButtonStyle']>();\n\tpublic readonly actionButtonStyle = input<ToastProps['actionButtonStyle']>();\n\tpublic readonly duration = input<ToastProps['duration']>(this._config.toastLifetime);\n\tpublic readonly descriptionClass = input<ToastProps['descriptionClass']>('');\n\tpublic readonly classes = input<ToastProps['classes']>({});\n\tpublic readonly unstyled = input<ToastProps['unstyled']>(false);\n\tpublic readonly userClass = input('', { alias: 'class' });\n\tpublic readonly style = input<Record<string, string>>({});\n\n\tprotected readonly _mounted = signal(false);\n\tprotected readonly _removed = signal(false);\n\tprotected readonly _swiping = signal(false);\n\tprotected readonly _swipeOut = signal(false);\n\tprivate readonly _offsetBeforeRemove = signal(0);\n\tprivate readonly _initialHeight = signal(0);\n\n\tprivate readonly _toastRef = viewChild.required<ElementRef<HTMLLIElement>>('toastRef');\n\n\tprotected readonly _classes = computed(() => ({\n\t\t...defaultClasses,\n\t\t...this.classes(),\n\t}));\n\n\tprotected readonly _isFront = computed(() => this.index() === 0);\n\tprotected readonly _isVisible = computed(() => this.index() + 1 <= this.visibleToasts());\n\tprotected readonly _toastType = computed(() => this.toast().type ?? 'default');\n\tprivate readonly _toastClass = computed(() => this.toast().class ?? '');\n\tprivate readonly _toastPosition = computed(() => this.toast().position ?? this.position());\n\tprotected readonly _toastDescriptionClass = computed(() => this.toast().descriptionClass ?? '');\n\n\tprivate readonly _heightIndex = computed(() =>\n\t\tthis._heights().findIndex((height) => height.toastId === this.toast().id),\n\t);\n\n\tprivate readonly _offset = linkedSignal({\n\t\tsource: () => ({\n\t\t\theightIndex: this._heightIndex(),\n\t\t\ttoastsHeightBefore: this._toastsHeightBefore(),\n\t\t}),\n\t\tcomputation: ({ heightIndex, toastsHeightBefore }) =>\n\t\t\tMath.round(heightIndex * this._config.gap + toastsHeightBefore),\n\t});\n\n\tprivate _closeTimerStartTimeRef = 0;\n\tprivate _lastCloseTimerStartTimeRef = 0;\n\tprivate _pointerStartRef: { x: number; y: number } | null = null;\n\n\tprotected readonly _coords = computed(() => this._toastPosition().split('-'));\n\tprivate readonly _toastsHeightBefore = computed(() =>\n\t\tthis._heights().reduce((prev, curr, reducerIndex) => {\n\t\t\tif (reducerIndex >= this._heightIndex()) return prev;\n\t\t\treturn prev + curr.height;\n\t\t}, 0),\n\t);\n\tprotected readonly _invert = computed(() => this.toast().invert ?? this.invert());\n\tprotected readonly _closeButton = computed(() => this.toast().closeButton ?? this.closeButton());\n\tprotected readonly _disabled = computed(() => this._toastType() === 'loading');\n\n\tprivate _timeoutId: ReturnType<typeof setTimeout> | undefined;\n\tprivate _remainingTime = 0;\n\n\tprivate readonly _isPromiseLoadingOrInfiniteDuration = computed(\n\t\t() =>\n\t\t\t(this.toast().promise && this._toastType() === 'loading') || this.toast().duration === Number.POSITIVE_INFINITY,\n\t);\n\n\tprotected readonly _toastClasses = computed(() =>\n\t\tclsx(\n\t\t\tthis.userClass(),\n\t\t\tthis._toastClass(),\n\t\t\tthis._classes().toast,\n\t\t\tthis.toast().classes?.toast,\n\t\t\tthis._classes()[this._toastType()],\n\t\t\tthis.toast().classes?.[this._toastType()],\n\t\t),\n\t);\n\tprotected readonly _toastStyle = computed(() => ({\n\t\t'--index': `${this.index()}`,\n\t\t'--toasts-before': `${this.index()}`,\n\t\t'--z-index': `${this._toasts().length - this.index()}`,\n\t\t'--offset': `${this._removed() ? this._offsetBeforeRemove() : this._offset()}px`,\n\t\t'--initial-height': this.expandByDefault() ? 'auto' : `${this._initialHeight()}px`,\n\t\t...this.style(),\n\t}));\n\tprotected readonly _actionButtonClasses = computed(() =>\n\t\tclsx(this._classes().actionButton, this.toast().classes?.actionButton),\n\t);\n\tprotected readonly _cancelButtonClasses = computed(() =>\n\t\tclsx(this._classes().cancelButton, this.toast().classes?.cancelButton),\n\t);\n\tprotected readonly _toastDescriptionClasses = computed(() =>\n\t\tclsx(\n\t\t\tthis.descriptionClass(),\n\t\t\tthis._toastDescriptionClass(),\n\t\t\tthis._classes().description,\n\t\t\tthis.toast().classes?.description,\n\t\t),\n\t);\n\tprotected readonly _titleClasses = computed(() => clsx(this._classes().title, this.toast().classes?.title));\n\tprotected readonly _closeButtonClasses = computed(() =>\n\t\tclsx(this._classes().closeButton, this.toast().classes?.closeButton),\n\t);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this.toast().updated) {\n\t\t\t\t// if the toast has been updated after the initial render,\n\t\t\t\t// we want to reset the timer and set the remaining time to the\n\t\t\t\t// new duration\n\t\t\t\tclearTimeout(this._timeoutId);\n\t\t\t\tthis._remainingTime = this.toast().duration ?? this.duration() ?? this._config.toastLifetime;\n\t\t\t\tthis.startTimer();\n\t\t\t}\n\t\t});\n\n\t\tafterRenderEffect((onCleanup) => {\n\t\t\tif (!this._isPromiseLoadingOrInfiniteDuration()) {\n\t\t\t\tif (this.expanded() || this.interacting()) {\n\t\t\t\t\tthis.pauseTimer();\n\t\t\t\t} else {\n\t\t\t\t\tthis.startTimer();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonCleanup(() => clearTimeout(this._timeoutId));\n\t\t});\n\n\t\teffect(() => {\n\t\t\tif (this.toast().delete) {\n\t\t\t\tthis.deleteToast();\n\t\t\t}\n\t\t});\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._remainingTime = this.toast().duration ?? this.duration() ?? this._config.toastLifetime;\n\t\tthis._mounted.set(true);\n\t\tconst height = this._toastRef().nativeElement.getBoundingClientRect().height;\n\t\tthis._initialHeight.set(height);\n\t\tthis._addHeight({ toastId: this.toast().id, height, position: this._toastPosition() });\n\t}\n\n\tngOnDestroy() {\n\t\tclearTimeout(this._timeoutId);\n\t\tthis._removeHeight(this.toast().id);\n\t}\n\n\tdeleteToast() {\n\t\tthis._removed.set(true);\n\t\tthis._offsetBeforeRemove.set(this._offset());\n\n\t\tthis._removeHeight(this.toast().id);\n\n\t\tsetTimeout(() => {\n\t\t\tthis._dismiss(this.toast().id);\n\t\t}, this._config.timeBeforeUnmount);\n\t}\n\n\t// If toast's duration changes, it will be out of sync with the\n\t// remainingAtTimeout, so we know we need to restart the timer\n\t// with the new duration\n\n\t// Pause the timer on each hover\n\tpauseTimer() {\n\t\tif (this._lastCloseTimerStartTimeRef < this._closeTimerStartTimeRef) {\n\t\t\t// Get the elapsed time since the timer started\n\t\t\tconst elapsedTime = new Date().getTime() - this._closeTimerStartTimeRef;\n\t\t\tthis._remainingTime = this._remainingTime - elapsedTime;\n\t\t}\n\n\t\tthis._lastCloseTimerStartTimeRef = new Date().getTime();\n\t}\n\n\tstartTimer() {\n\t\tthis._closeTimerStartTimeRef = new Date().getTime();\n\t\t// Let the toast know it has started\n\t\tthis._timeoutId = setTimeout(() => {\n\t\t\tthis.toast().onAutoClose?.(this.toast());\n\t\t\tthis.deleteToast();\n\t\t}, this._remainingTime);\n\t}\n\n\tonPointerDown(event: PointerEvent) {\n\t\tif (this._disabled() || !this.toast().dismissible) return;\n\n\t\tthis._offsetBeforeRemove.set(this._offset());\n\t\tconst target = event.target as HTMLElement;\n\t\t// Ensure we maintain correct pointer capture even when going outside the toast (e.g. when swiping)\n\t\ttarget.setPointerCapture(event.pointerId);\n\t\tif (target.tagName === 'BUTTON') {\n\t\t\treturn;\n\t\t}\n\t\tthis._swiping.set(true);\n\t\tthis._pointerStartRef = { x: event.clientX, y: event.clientY };\n\t}\n\n\tonPointerUp() {\n\t\tif (this._swipeOut() || !this.toast().dismissible) return;\n\n\t\tthis._pointerStartRef = null;\n\t\tconst swipeAmount = Number(\n\t\t\tthis._toastRef().nativeElement.style.getPropertyValue('--swipe-amount').replace('px', '') || 0,\n\t\t);\n\n\t\t// Remove only if threshold is met\n\t\tif (Math.abs(swipeAmount) >= this._config.swipeThreshold) {\n\t\t\tthis._offsetBeforeRemove.set(this._offset());\n\t\t\tthis.toast().onDismiss?.(this.toast());\n\t\t\tthis.deleteToast();\n\t\t\tthis._swipeOut.set(true);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._toastRef().nativeElement.style.setProperty('--swipe-amount', '0px');\n\t\tthis._swiping.set(false);\n\t}\n\n\tonPointerMove(event: PointerEvent) {\n\t\tif (!this._pointerStartRef || !this.toast().dismissible) return;\n\n\t\tconst yPosition = event.clientY - this._pointerStartRef.y;\n\t\tconst xPosition = event.clientX - this._pointerStartRef.x;\n\n\t\tconst clamp = this._coords()[0] === 'top' ? Math.min : Math.max;\n\t\tconst clampedY = clamp(0, yPosition);\n\t\tconst swipeStartThreshold = event.pointerType === 'touch' ? 10 : 2;\n\t\tconst isAllowedToSwipe = Math.abs(clampedY) > swipeStartThreshold;\n\n\t\tif (isAllowedToSwipe) {\n\t\t\tthis._toastRef().nativeElement.style.setProperty('--swipe-amount', `${yPosition}px`);\n\t\t} else if (Math.abs(xPosition) > swipeStartThreshold) {\n\t\t\t// User is swiping in wrong direction, so we disable swipe gesture\n\t\t\t// for the current pointer down interaction\n\t\t\tthis._pointerStartRef = null;\n\t\t}\n\t}\n\n\tonCloseButtonClick() {\n\t\tif (this._disabled() || !this.toast().dismissible) return;\n\t\tthis.deleteToast();\n\t\tthis.toast().onDismiss?.(this.toast());\n\t}\n\n\tonCancelClick() {\n\t\tconst toast = this.toast();\n\t\tif (!toast.dismissible) return;\n\t\tthis.deleteToast();\n\t\tif (toast.cancel?.onClick) {\n\t\t\ttoast.cancel.onClick();\n\t\t}\n\t}\n\n\tonActionClick(event: MouseEvent) {\n\t\tconst toast = this.toast();\n\t\ttoast.action?.onClick(event);\n\t\tif (event.defaultPrevented) return;\n\t\tthis.deleteToast();\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Position, ToastT } from '../types';\n\n@Pipe({ name: 'toastFilter' })\nexport class ToastFilterPipe implements PipeTransform {\n\ttransform(toasts: ToastT[], index: number, position: Position): ToastT[] {\n\t\treturn toasts.filter((toast) => (!toast.position && index === 0) || toast.position === position);\n\t}\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport type { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\tDestroyRef,\n\tDOCUMENT,\n\tElementRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tnumberAttribute,\n\tPLATFORM_ID,\n\tsignal,\n\tTemplateRef,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnSonnerIcon } from './brn-icon';\nimport { BrnSonnerLoader } from './brn-loader';\nimport { BrnSonnerToast } from './brn-toast';\nimport { injectBrnSonnerToasterConfig } from './brn-toaster.token';\nimport { ToastFilterPipe } from './pipes/toast-filter.pipe';\nimport { toastState } from './state';\nimport type { Position, Theme, ToasterProps } from './types';\n\n@Component({\n\tselector: 'brn-sonner-toaster',\n\timports: [BrnSonnerToast, ToastFilterPipe, BrnSonnerIcon, BrnSonnerLoader, NgTemplateOutlet],\n\t// eslint-disable-next-line @nx/workspace-avoid-component-styles\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstyleUrl: 'brn-toaster.css',\n\ttemplate: `\n\t\t@if (_toasts().length > 0) {\n\t\t\t<section [attr.aria-label]=\"'Notifications ' + _hotKeyLabel()\" [tabIndex]=\"-1\">\n\t\t\t\t@for (pos of _possiblePositions(); track pos) {\n\t\t\t\t\t<ol\n\t\t\t\t\t\t#listRef\n\t\t\t\t\t\t[tabIndex]=\"-1\"\n\t\t\t\t\t\t[class]=\"userClass()\"\n\t\t\t\t\t\tdata-sonner-toaster\n\t\t\t\t\t\t[attr.data-theme]=\"_actualTheme()\"\n\t\t\t\t\t\t[attr.data-rich-colors]=\"richColors()\"\n\t\t\t\t\t\t[attr.dir]=\"direction()\"\n\t\t\t\t\t\t[attr.data-y-position]=\"pos.split('-')[0]\"\n\t\t\t\t\t\t[attr.data-x-position]=\"pos.split('-')[1]\"\n\t\t\t\t\t\t[style]=\"_toasterStyles()\"\n\t\t\t\t\t\t(blur)=\"handleBlur($event)\"\n\t\t\t\t\t\t(focus)=\"handleFocus($event)\"\n\t\t\t\t\t\t(mouseenter)=\"_expanded.set(true)\"\n\t\t\t\t\t\t(mousemove)=\"_expanded.set(true)\"\n\t\t\t\t\t\t(mouseleave)=\"handleMouseLeave()\"\n\t\t\t\t\t\t(pointerdown)=\"handlePointerDown($event)\"\n\t\t\t\t\t\t(pointerup)=\"_interacting.set(false)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t@for (toast of _toasts() | toastFilter: $index : pos; track toast.id) {\n\t\t\t\t\t\t\t<brn-sonner-toast\n\t\t\t\t\t\t\t\t[index]=\"$index\"\n\t\t\t\t\t\t\t\t[toast]=\"toast\"\n\t\t\t\t\t\t\t\t[invert]=\"invert()\"\n\t\t\t\t\t\t\t\t[visibleToasts]=\"visibleToasts()\"\n\t\t\t\t\t\t\t\t[closeButton]=\"closeButton()\"\n\t\t\t\t\t\t\t\t[interacting]=\"_interacting()\"\n\t\t\t\t\t\t\t\t[position]=\"pos\"\n\t\t\t\t\t\t\t\t[expandByDefault]=\"expand()\"\n\t\t\t\t\t\t\t\t[expanded]=\"_expanded()\"\n\t\t\t\t\t\t\t\t[actionButtonStyle]=\"toastOptions().actionButtonStyle\"\n\t\t\t\t\t\t\t\t[cancelButtonStyle]=\"toastOptions().cancelButtonStyle\"\n\t\t\t\t\t\t\t\t[class]=\"toastOptions().class ?? ''\"\n\t\t\t\t\t\t\t\t[descriptionClass]=\"toastOptions().descriptionClass ?? ''\"\n\t\t\t\t\t\t\t\t[classes]=\"toastOptions().classes ?? {}\"\n\t\t\t\t\t\t\t\t[duration]=\"toastOptions().duration ?? duration()\"\n\t\t\t\t\t\t\t\t[unstyled]=\"toastOptions().unstyled ?? false\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (_loadingIcon(); as loadingIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"loadingIcon\" loading-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-loader [isVisible]=\"toast.type === 'loading'\" loading-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_successIcon(); as successIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"successIcon\" success-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"success\" success-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_errorIcon(); as errorIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"errorIcon\" error-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"error\" error-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_warningIcon(); as warningIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"warningIcon\" warning-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"warning\" warning-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_infoIcon(); as infoIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"infoIcon\" info-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"info\" info-icon />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</brn-sonner-toast>\n\t\t\t\t\t\t}\n\t\t\t\t\t</ol>\n\t\t\t\t}\n\t\t\t</section>\n\t\t}\n\t`,\n})\nexport class BrnSonnerToaster {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _config = injectBrnSonnerToasterConfig();\n\tprivate readonly _document = inject(DOCUMENT);\n\tprivate readonly _window = this._document.defaultView;\n\tprivate readonly _dir = inject(Directionality);\n\n\tprotected readonly _toasts = toastState.toasts;\n\tprivate readonly _heights = toastState.heights;\n\tprivate readonly _reset = toastState.reset;\n\n\tpublic readonly invert = input<ToasterProps['invert'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly theme = input<ToasterProps['theme']>('light');\n\tpublic readonly position = input<ToasterProps['position']>('bottom-right');\n\tpublic readonly hotKey = input<ToasterProps['hotkey']>(['altKey', 'KeyT']);\n\tpublic readonly richColors = input<ToasterProps['richColors'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly expand = input<ToasterProps['expand'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly duration = input<ToasterProps['duration'], NumberInput>(this._config.toastLifetime, {\n\t\ttransform: numberAttribute,\n\t});\n\tpublic readonly visibleToasts = input<ToasterProps['visibleToasts'], NumberInput>(this._config.visibleToastsAmount, {\n\t\ttransform: numberAttribute,\n\t});\n\tpublic readonly closeButton = input<ToasterProps['closeButton'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly toastOptions = input<ToasterProps['toastOptions']>({});\n\tpublic readonly offset = input<ToasterProps['offset']>(null);\n\tpublic readonly userClass = input('', { alias: 'class' });\n\tpublic readonly style = input<Record<string, string>>({});\n\n\tprotected readonly _possiblePositions = computed(\n\t\t() =>\n\t\t\tArray.from(\n\t\t\t\tnew Set(\n\t\t\t\t\t[\n\t\t\t\t\t\tthis.position(),\n\t\t\t\t\t\t...this._toasts()\n\t\t\t\t\t\t\t.filter((toast) => toast.position)\n\t\t\t\t\t\t\t.map((toast) => toast.position),\n\t\t\t\t\t].filter(Boolean),\n\t\t\t\t),\n\t\t\t) as Position[],\n\t);\n\n\tprotected readonly _expanded = linkedSignal({\n\t\tsource: this._toasts,\n\t\tcomputation: (toasts) => toasts.length < 1,\n\t});\n\tprotected readonly _actualTheme = linkedSignal({\n\t\tsource: this.theme,\n\t\tcomputation: (newTheme) => this.getActualTheme(newTheme),\n\t});\n\tprotected readonly _interacting = signal(false);\n\n\t/** internal **/\n\tpublic readonly direction = this._dir.valueSignal;\n\n\tprivate readonly _listRef = viewChild<ElementRef<HTMLOListElement>>('listRef');\n\tprivate readonly _lastFocusedElementRef = signal<HTMLElement | null>(null);\n\tprivate readonly _isFocusWithinRef = signal(false);\n\n\tprotected readonly _hotKeyLabel = computed(() => this.hotKey().join('+').replace(/Key/g, '').replace(/Digit/g, ''));\n\n\tprotected readonly _toasterStyles = computed(() => ({\n\t\t'--front-toast-height': `${this._heights()[0]?.height}px`,\n\t\t'--offset':\n\t\t\ttypeof this.offset() === 'number' ? `${this.offset()}px` : (this.offset() ?? `${this._config.viewPortOffset}`),\n\t\t'--width': `${this._config.toastWidth}px`,\n\t\t'--gap': `${this._config.gap}px`,\n\t\t...this.style(),\n\t}));\n\n\tprotected readonly _loadingIcon = contentChild('loadingIcon', { read: TemplateRef });\n\tprotected readonly _successIcon = contentChild('successIcon', { read: TemplateRef });\n\tprotected readonly _errorIcon = contentChild('errorIcon', { read: TemplateRef });\n\tprotected readonly _warningIcon = contentChild('warningIcon', { read: TemplateRef });\n\tprotected readonly _infoIcon = contentChild('infoIcon', { read: TemplateRef });\n\n\tconstructor() {\n\t\tthis._reset();\n\n\t\tconst destroyRef = inject(DestroyRef);\n\n\t\tafterNextRender(() => {\n\t\t\tthis._document.addEventListener('keydown', this.handleKeydown);\n\n\t\t\tconst window = this._window;\n\t\t\tif (window) {\n\t\t\t\tthis._window\n\t\t\t\t\t.matchMedia('(prefers-color-scheme: dark)')\n\t\t\t\t\t.addEventListener('change', this.handleThemePreferenceChange);\n\t\t\t}\n\n\t\t\tdestroyRef.onDestroy(() => {\n\t\t\t\tthis._document.removeEventListener('keydown', this.handleKeydown);\n\t\t\t\tif (window) {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.matchMedia('(prefers-color-scheme: dark)')\n\t\t\t\t\t\t.removeEventListener('change', this.handleThemePreferenceChange);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\thandleBlur(event: FocusEvent) {\n\t\tif (this._isFocusWithinRef() && !(event.target as HTMLOListElement).contains(event.relatedTarget as HTMLElement)) {\n\t\t\tthis._isFocusWithinRef.set(false);\n\t\t\tif (this._lastFocusedElementRef()) {\n\t\t\t\tthis._lastFocusedElementRef()?.focus({ preventScroll: true });\n\t\t\t\tthis._lastFocusedElementRef.set(null);\n\t\t\t}\n\t\t}\n\t}\n\n\thandleFocus(event: FocusEvent) {\n\t\tconst isNotDismissible = event.target instanceof HTMLElement && event.target.dataset['dismissible'] === 'false';\n\n\t\tif (isNotDismissible) return;\n\n\t\tif (!this._isFocusWithinRef()) {\n\t\t\tthis._isFocusWithinRef.set(true);\n\t\t\tthis._lastFocusedElementRef.set(event.relatedTarget as HTMLElement);\n\t\t}\n\t}\n\n\thandlePointerDown(event: MouseEvent) {\n\t\tconst isNotDismissible = event.target instanceof HTMLElement && event.target.dataset['dismissible'] === 'false';\n\n\t\tif (isNotDismissible) return;\n\t\tthis._interacting.set(true);\n\t}\n\n\thandleMouseLeave() {\n\t\tif (!this._interacting()) {\n\t\t\tthis._expanded.set(false);\n\t\t}\n\t}\n\n\tprivate readonly handleKeydown = (event: KeyboardEvent) => {\n\t\tconst listRef = this._listRef()?.nativeElement;\n\t\tif (!listRef) return;\n\n\t\tconst isHotkeyPressed = this.hotKey().every((key) => (event as never)[key] || event.code === key);\n\n\t\tif (isHotkeyPressed) {\n\t\t\tthis._expanded.set(true);\n\t\t\tlistRef.focus();\n\t\t}\n\n\t\tif (\n\t\t\tevent.code === 'Escape' &&\n\t\t\t(this._document.activeElement === listRef || listRef.contains(this._document.activeElement))\n\t\t) {\n\t\t\tthis._expanded.set(false);\n\t\t}\n\t};\n\n\tprivate readonly handleThemePreferenceChange = ({ matches }: MediaQueryListEvent) => {\n\t\tif (this.theme() === 'system') {\n\t\t\tthis._actualTheme.set(matches ? 'dark' : 'light');\n\t\t}\n\t};\n\n\tprivate getActualTheme(theme: Theme): Theme {\n\t\tif (theme !== 'system') {\n\t\t\treturn theme;\n\t\t}\n\n\t\tif (isPlatformBrowser(this._platformId) && this._window) {\n\t\t\tconst prefersDark = this._window.matchMedia?.('(prefers-color-scheme: dark)').matches;\n\t\t\treturn prefersDark ? 'dark' : 'light';\n\t\t}\n\n\t\treturn 'light';\n\t}\n}\n","import { BrnSonnerToaster } from './lib/brn-toaster';\n\nexport * from './lib/brn-toaster';\nexport * from './lib/brn-toaster.token';\nexport * from './lib/state';\nexport * from './lib/types';\n\nexport const BrnSonnerImports = [BrnSonnerToaster] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-sonner.mjs","sources":["../../../../libs/brain/sonner/src/lib/brn-icon.ts","../../../../libs/brain/sonner/src/lib/brn-loader.ts","../../../../libs/brain/sonner/src/lib/brn-toaster.token.ts","../../../../libs/brain/sonner/src/lib/pipes/as-component.pipe.ts","../../../../libs/brain/sonner/src/lib/pipes/is-string.pipe.ts","../../../../libs/brain/sonner/src/lib/state.ts","../../../../libs/brain/sonner/src/lib/brn-toast.ts","../../../../libs/brain/sonner/src/lib/pipes/toast-filter.pipe.ts","../../../../libs/brain/sonner/src/lib/brn-toaster.ts","../../../../libs/brain/sonner/src/index.ts","../../../../libs/brain/sonner/src/spartan-ng-brain-sonner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport type { ToastTypes } from './types';\n\n@Component({\n\tselector: 'brn-sonner-icon',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t@switch (type()) {\n\t\t\t@case ('success') {\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\td=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\"\n\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t\t@case ('error') {\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\td=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\"\n\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t\t@case ('info') {\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\td=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z\"\n\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t\t@case ('warning') {\n\t\t\t\t<svg viewBox=\"0 0 64 64\" fill=\"currentColor\" height=\"20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M32.427,7.987c2.183,0.124 4,1.165 5.096,3.281l17.936,36.208c1.739,3.66 -0.954,8.585 -5.373,8.656l-36.119,0c-4.022,-0.064 -7.322,-4.631 -5.352,-8.696l18.271,-36.207c0.342,-0.65 0.498,-0.838 0.793,-1.179c1.186,-1.375 2.483,-2.111 4.748,-2.063Zm-0.295,3.997c-0.687,0.034 -1.316,0.419 -1.659,1.017c-6.312,11.979 -12.397,24.081 -18.301,36.267c-0.546,1.225 0.391,2.797 1.762,2.863c12.06,0.195 24.125,0.195 36.185,0c1.325,-0.064 2.321,-1.584 1.769,-2.85c-5.793,-12.184 -11.765,-24.286 -17.966,-36.267c-0.366,-0.651 -0.903,-1.042 -1.79,-1.03Z\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M33.631,40.581l-3.348,0l-0.368,-16.449l4.1,0l-0.384,16.449Zm-3.828,5.03c0,-0.609 0.197,-1.113 0.592,-1.514c0.396,-0.4 0.935,-0.601 1.618,-0.601c0.684,0 1.223,0.201 1.618,0.601c0.395,0.401 0.593,0.905 0.593,1.514c0,0.587 -0.193,1.078 -0.577,1.473c-0.385,0.395 -0.929,0.593 -1.634,0.593c-0.705,0 -1.249,-0.198 -1.634,-0.593c-0.384,-0.395 -0.576,-0.886 -0.576,-1.473Z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t}\n\t\t}\n\t`,\n})\nexport class BrnSonnerIcon {\n\tpublic readonly type = input<ToastTypes>('default');\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n\tselector: 'brn-sonner-loader',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<div class=\"sonner-loading-wrapper\" [attr.data-visible]=\"isVisible()\">\n\t\t\t<div class=\"sonner-spinner\">\n\t\t\t\t@for (_ of _bars; track $index) {\n\t\t\t\t\t<div class=\"sonner-loading-bar\"></div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t`,\n})\nexport class BrnSonnerLoader {\n\tpublic readonly isVisible = input.required<boolean, BooleanInput>({ transform: booleanAttribute });\n\tprotected readonly _bars = Array(12).fill(0);\n}\n","import { inject, InjectionToken, type ValueProvider } from '@angular/core';\nimport type { ToastClassnames } from './types';\n\nexport interface BrnSonnerToasterConfig {\n\t/** The maximum number of toasts visible at once */\n\tvisibleToastsAmount: number;\n\t/** The offset from the viewport for the toast container */\n\tviewPortOffset: string;\n\t/** The default lifetime of a toast in milliseconds */\n\ttoastLifetime: number;\n\t/** The width of the toast in pixels */\n\ttoastWidth: number;\n\t/** The gap between toasts in pixels */\n\tgap: number;\n\t/** The threshold in pixels for swipe to dismiss a toast */\n\tswipeThreshold: number;\n\t/** The time in milliseconds before a toast is unmounted */\n\ttimeBeforeUnmount: number;\n}\n\nconst defaultConfig: BrnSonnerToasterConfig = {\n\tvisibleToastsAmount: 3,\n\tviewPortOffset: '32px',\n\ttoastLifetime: 4000,\n\ttoastWidth: 356,\n\tgap: 14,\n\tswipeThreshold: 20,\n\ttimeBeforeUnmount: 200,\n};\n\nconst BrnSonnerToasterConfigToken = new InjectionToken<BrnSonnerToasterConfig>('BrnSonnerToasterConfig');\n\nexport function provideBrnSonnerToasterConfig(config: Partial<BrnSonnerToasterConfig>): ValueProvider {\n\treturn { provide: BrnSonnerToasterConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnSonnerToasterConfig(): BrnSonnerToasterConfig {\n\treturn inject(BrnSonnerToasterConfigToken, { optional: true }) ?? defaultConfig;\n}\n\nexport const defaultClasses: ToastClassnames = {\n\ttoast: '',\n\ttitle: '',\n\tdescription: '',\n\tloader: '',\n\tcloseButton: '',\n\tcancelButton: '',\n\tactionButton: '',\n\taction: '',\n\twarning: '',\n\terror: '',\n\tsuccess: '',\n\tdefault: '',\n\tinfo: '',\n\tloading: '',\n};\n","import { Pipe, PipeTransform, Type } from '@angular/core';\n\n@Pipe({ name: 'asComponent' })\nexport class AsComponentPipe implements PipeTransform {\n\ttransform(value: unknown): Type<unknown> {\n\t\treturn value as Type<unknown>;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isString' })\nexport class IsStringPipe implements PipeTransform {\n\ttransform(value: unknown): boolean {\n\t\treturn typeof value === 'string';\n\t}\n}\n","import { signal, type Type } from '@angular/core';\nimport type { ExternalToast, HeightT, PromiseData, PromiseT, ToastT, ToastTypes } from './types';\n\nlet toastsCounter = 0;\n\nfunction createToastState() {\n\tconst toasts = signal<ToastT[]>([]);\n\tconst heights = signal<HeightT[]>([]);\n\n\tfunction addToast(data: ToastT) {\n\t\ttoasts.update((prev) => [data, ...prev]);\n\t}\n\n\tfunction create(\n\t\tdata: ExternalToast & {\n\t\t\tmessage?: string | Type<unknown>;\n\t\t\ttype?: ToastTypes;\n\t\t\tpromise?: PromiseT;\n\t\t},\n\t) {\n\t\tconst { message, ...rest } = data;\n\t\tconst id = typeof data?.id === 'number' || (data.id && data.id?.length > 0) ? data.id : toastsCounter++;\n\n\t\tconst dismissible = data.dismissible ?? true;\n\t\tconst type = data.type ?? 'default';\n\n\t\tconst alreadyExists = toasts().find((toast) => toast.id === id);\n\n\t\tif (alreadyExists) {\n\t\t\ttoasts.update((prev) =>\n\t\t\t\tprev.map((toast) => {\n\t\t\t\t\tif (toast.id === id) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...toast,\n\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\ttitle: message,\n\t\t\t\t\t\t\tdismissible,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tupdated: true,\n\t\t\t\t\t\t};\n\t\t\t\t\t} else return { ...toast, updated: false };\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\taddToast({ ...rest, id, title: message, dismissible: dismissible, type });\n\t\t}\n\n\t\treturn id;\n\t}\n\n\tfunction dismiss(id?: number | string) {\n\t\tif (id === undefined) {\n\t\t\ttoasts.set([]);\n\t\t\treturn;\n\t\t}\n\t\ttoasts.update((prev) => prev.filter((toast) => toast.id !== id));\n\n\t\treturn id;\n\t}\n\n\tfunction message(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'default', message });\n\t}\n\n\tfunction error(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'error', message });\n\t}\n\n\tfunction success(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'success', message });\n\t}\n\n\tfunction info(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'info', message });\n\t}\n\n\tfunction warning(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'warning', message });\n\t}\n\n\tfunction loading(message: string | Type<unknown>, data?: ExternalToast) {\n\t\treturn create({ ...data, type: 'loading', message });\n\t}\n\n\tfunction promise<ToastData>(promise: PromiseT<ToastData>, data?: PromiseData<ToastData>) {\n\t\tif (!data) return;\n\n\t\tlet id: string | number | undefined = undefined;\n\t\tif (data.loading !== undefined) {\n\t\t\tid = create({\n\t\t\t\t...data,\n\t\t\t\tpromise,\n\t\t\t\ttype: 'loading',\n\t\t\t\tmessage: data.loading,\n\t\t\t});\n\t\t}\n\n\t\tconst p = promise instanceof Promise ? promise : promise();\n\n\t\tlet shouldDismiss = id !== undefined;\n\n\t\tp.then((response) => {\n\t\t\t// @ts-expect-error: Incorrect response type\n\t\t\tif (response && typeof response.ok === 'boolean' && !response.ok) {\n\t\t\t\tshouldDismiss = false;\n\n\t\t\t\tconst message =\n\t\t\t\t\ttypeof data.error === 'function'\n\t\t\t\t\t\t? // @ts-expect-error: TODO: Better function checking\n\t\t\t\t\t\t\tdata.error(`HTTP error! status: ${response.status}`)\n\t\t\t\t\t\t: data.error;\n\t\t\t\tcreate({ id, type: 'error', message });\n\t\t\t} else if (data.success !== undefined) {\n\t\t\t\tshouldDismiss = false;\n\n\t\t\t\tconst message =\n\t\t\t\t\ttypeof data.success === 'function'\n\t\t\t\t\t\t? // @ts-expect-error: TODO: Better function checking\n\t\t\t\t\t\t\tdata.success(response)\n\t\t\t\t\t\t: data.success;\n\t\t\t\tcreate({ id, type: 'success', message });\n\t\t\t}\n\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (data.error !== undefined) {\n\t\t\t\t\tshouldDismiss = false;\n\t\t\t\t\tconst message =\n\t\t\t\t\t\t// @ts-expect-error: TODO: Better function checking\n\t\t\t\t\t\ttypeof data.error === 'function' ? data.error(error) : data.error;\n\t\t\t\t\tcreate({ id, type: 'error', message });\n\t\t\t\t}\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tif (shouldDismiss) {\n\t\t\t\t\t// Toast is still in load state (and will be indefinitely — dismiss it)\n\t\t\t\t\tdismiss(id);\n\t\t\t\t\tid = undefined;\n\t\t\t\t}\n\n\t\t\t\tdata.finally?.();\n\t\t\t});\n\n\t\treturn id;\n\t}\n\n\tfunction custom<T>(component: Type<T>, data?: ExternalToast) {\n\t\tconst id = data?.id ?? toastsCounter++;\n\t\tcreate({ component, id, ...data });\n\n\t\treturn id;\n\t}\n\n\tfunction removeHeight(id: number | string) {\n\t\theights.update((prev) => prev.filter((height) => height.toastId !== id));\n\t}\n\n\tfunction addHeight(height: HeightT) {\n\t\theights.update((prev) => [height, ...prev].sort(sortHeights));\n\t}\n\n\tconst sortHeights = (a: HeightT, b: HeightT) =>\n\t\ttoasts().findIndex((t) => t.id === a.toastId) - toasts().findIndex((t) => t.id === b.toastId);\n\n\tfunction reset() {\n\t\ttoasts.set([]);\n\t\theights.set([]);\n\t}\n\n\treturn {\n\t\t//methods\n\t\tcreate,\n\t\taddToast,\n\t\tdismiss,\n\t\tmessage,\n\t\terror,\n\t\tsuccess,\n\t\tinfo,\n\t\twarning,\n\t\tloading,\n\t\tpromise,\n\t\tcustom,\n\t\tremoveHeight,\n\t\taddHeight,\n\t\treset,\n\t\t// signals\n\t\ttoasts: toasts.asReadonly(),\n\t\theights: heights.asReadonly(),\n\t};\n}\n\nexport const toastState = createToastState();\n\n// bind this to the toast function\nfunction toastFunction(message: string | Type<unknown>, data?: ExternalToast) {\n\treturn toastState.create({\n\t\tmessage,\n\t\t...data,\n\t});\n}\n\nconst basicToast = toastFunction;\n\nexport const toast = Object.assign(basicToast, {\n\tsuccess: toastState.success,\n\tinfo: toastState.info,\n\twarning: toastState.warning,\n\terror: toastState.error,\n\tcustom: toastState.custom,\n\tmessage: toastState.message,\n\tpromise: toastState.promise,\n\tdismiss: toastState.dismiss,\n\tloading: toastState.loading,\n});\n","import { NgComponentOutlet } from '@angular/common';\nimport {\n\tafterRenderEffect,\n\ttype AfterViewInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tElementRef,\n\tinput,\n\tlinkedSignal,\n\ttype OnDestroy,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport clsx from 'clsx';\nimport { defaultClasses, injectBrnSonnerToasterConfig } from './brn-toaster.token';\nimport { AsComponentPipe } from './pipes/as-component.pipe';\nimport { IsStringPipe } from './pipes/is-string.pipe';\nimport { toastState } from './state';\nimport type { ToastProps } from './types';\n\n@Component({\n\tselector: 'brn-sonner-toast',\n\timports: [NgComponentOutlet, IsStringPipe, AsComponentPipe],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<li\n\t\t\t#toastRef\n\t\t\tdata-sonner-toast\n\t\t\t[attr.aria-live]=\"toast().important ? 'assertive' : 'polite'\"\n\t\t\taria-atomic=\"true\"\n\t\t\trole=\"status\"\n\t\t\ttabindex=\"0\"\n\t\t\t[class]=\"_toastClasses()\"\n\t\t\t[attr.data-styled]=\"!(toast().component || toast().unstyled || unstyled())\"\n\t\t\t[attr.data-mounted]=\"_mounted()\"\n\t\t\t[attr.data-promise]=\"!!toast().promise\"\n\t\t\t[attr.data-removed]=\"_removed()\"\n\t\t\t[attr.data-visible]=\"_isVisible()\"\n\t\t\t[attr.data-y-position]=\"_coords()[0]\"\n\t\t\t[attr.data-x-position]=\"_coords()[1]\"\n\t\t\t[attr.data-index]=\"index()\"\n\t\t\t[attr.data-front]=\"_isFront()\"\n\t\t\t[attr.data-swiping]=\"_swiping()\"\n\t\t\t[attr.data-dismissible]=\"toast().dismissible\"\n\t\t\t[attr.data-type]=\"_toastType()\"\n\t\t\t[attr.data-invert]=\"_invert()\"\n\t\t\t[attr.data-swipe-out]=\"_swipeOut()\"\n\t\t\t[attr.data-expanded]=\"expanded() || (expandByDefault() && _mounted())\"\n\t\t\t[style]=\"_toastStyle()\"\n\t\t\t(pointerdown)=\"onPointerDown($event)\"\n\t\t\t(pointerup)=\"onPointerUp()\"\n\t\t\t(pointermove)=\"onPointerMove($event)\"\n\t\t>\n\t\t\t@if (_closeButton() && !toast().component) {\n\t\t\t\t<button\n\t\t\t\t\taria-label=\"Close toast\"\n\t\t\t\t\t[attr.data-disabled]=\"_disabled()\"\n\t\t\t\t\tdata-close-button\n\t\t\t\t\t(click)=\"onCloseButtonClick()\"\n\t\t\t\t\t[class]=\"_closeButtonClasses()\"\n\t\t\t\t>\n\t\t\t\t\t<svg\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\twidth=\"12\"\n\t\t\t\t\t\theight=\"12\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n\t\t\t\t\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t}\n\n\t\t\t@if (toast().component) {\n\t\t\t\t<ng-container *ngComponentOutlet=\"toast().component | asComponent; inputs: toast().componentProps\" />\n\t\t\t} @else {\n\t\t\t\t@if (_toastType() !== 'default' || toast().icon || toast().promise) {\n\t\t\t\t\t<div data-icon>\n\t\t\t\t\t\t@if (_toastType() === 'loading' && !toast().icon) {\n\t\t\t\t\t\t\t<ng-content select=\"[loading-icon]\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (toast().icon) {\n\t\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"toast().icon | asComponent; inputs: toast().componentProps\" />\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t@switch (_toastType()) {\n\t\t\t\t\t\t\t\t@case ('success') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[success-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@case ('error') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[error-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@case ('warning') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[warning-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@case ('info') {\n\t\t\t\t\t\t\t\t\t<ng-content select=\"[info-icon]\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t<div data-content>\n\t\t\t\t\t@if (toast().title; as title) {\n\t\t\t\t\t\t<div data-title [class]=\"_titleClasses()\">\n\t\t\t\t\t\t\t@if (title | isString) {\n\t\t\t\t\t\t\t\t{{ toast().title }}\n\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"title | asComponent; inputs: toast().componentProps\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\t@if (toast().description; as description) {\n\t\t\t\t\t\t<div data-description [class]=\"_toastDescriptionClasses()\">\n\t\t\t\t\t\t\t@if (description | isString) {\n\t\t\t\t\t\t\t\t{{ toast().description }}\n\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"description | asComponent; inputs: toast().componentProps\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t@if (toast().cancel; as cancel) {\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-button\n\t\t\t\t\t\tdata-cancel\n\t\t\t\t\t\t[style]=\"cancelButtonStyle() ?? toast().cancelButtonStyle\"\n\t\t\t\t\t\t[class]=\"_cancelButtonClasses()\"\n\t\t\t\t\t\t(click)=\"onCancelClick()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancel.label }}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t\t@if (toast().action; as action) {\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-button\n\t\t\t\t\t\t[style]=\"actionButtonStyle() ?? toast().actionButtonStyle\"\n\t\t\t\t\t\t[class]=\"_actionButtonClasses()\"\n\t\t\t\t\t\t(click)=\"onActionClick($event)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ action.label }}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t}\n\t\t</li>\n\t`,\n})\nexport class BrnSonnerToast implements AfterViewInit, OnDestroy {\n\tprivate readonly _config = injectBrnSonnerToasterConfig();\n\n\tprotected readonly _toasts = computed(() => toastState.toasts().filter((t) => t.position === this.position()));\n\tprotected readonly _heights = computed(() => toastState.heights().filter((h) => h.position === this.position()));\n\tprotected readonly _removeHeight = toastState.removeHeight;\n\tprotected readonly _addHeight = toastState.addHeight;\n\tprotected readonly _dismiss = toastState.dismiss;\n\n\tpublic readonly toast = input.required<ToastProps['toast']>();\n\tpublic readonly index = input.required<ToastProps['index']>();\n\tpublic readonly expanded = input.required<ToastProps['expanded']>();\n\tpublic readonly invert = input.required<ToastProps['invert']>();\n\tpublic readonly position = input.required<ToastProps['position']>();\n\tpublic readonly visibleToasts = input.required<ToastProps['visibleToasts']>();\n\tpublic readonly expandByDefault = input.required<ToastProps['expandByDefault']>();\n\tpublic readonly closeButton = input.required<ToastProps['closeButton']>();\n\tpublic readonly interacting = input.required<ToastProps['interacting']>();\n\tpublic readonly cancelButtonStyle = input<ToastProps['cancelButtonStyle']>();\n\tpublic readonly actionButtonStyle = input<ToastProps['actionButtonStyle']>();\n\tpublic readonly duration = input<ToastProps['duration']>(this._config.toastLifetime);\n\tpublic readonly descriptionClass = input<ToastProps['descriptionClass']>('');\n\tpublic readonly classes = input<ToastProps['classes']>({});\n\tpublic readonly unstyled = input<ToastProps['unstyled']>(false);\n\tpublic readonly userClass = input('', { alias: 'class' });\n\tpublic readonly style = input<Record<string, string>>({});\n\n\tprotected readonly _mounted = signal(false);\n\tprotected readonly _removed = signal(false);\n\tprotected readonly _swiping = signal(false);\n\tprotected readonly _swipeOut = signal(false);\n\tprivate readonly _offsetBeforeRemove = signal(0);\n\tprivate readonly _initialHeight = signal(0);\n\n\tprivate readonly _toastRef = viewChild.required<ElementRef<HTMLLIElement>>('toastRef');\n\n\tprotected readonly _classes = computed(() => ({\n\t\t...defaultClasses,\n\t\t...this.classes(),\n\t}));\n\n\tprotected readonly _isFront = computed(() => this.index() === 0);\n\tprotected readonly _isVisible = computed(() => this.index() + 1 <= this.visibleToasts());\n\tprotected readonly _toastType = computed(() => this.toast().type ?? 'default');\n\tprivate readonly _toastClass = computed(() => this.toast().class ?? '');\n\tprivate readonly _toastPosition = computed(() => this.toast().position ?? this.position());\n\tprotected readonly _toastDescriptionClass = computed(() => this.toast().descriptionClass ?? '');\n\n\tprivate readonly _heightIndex = computed(() =>\n\t\tthis._heights().findIndex((height) => height.toastId === this.toast().id),\n\t);\n\n\tprivate readonly _offset = linkedSignal({\n\t\tsource: () => ({\n\t\t\theightIndex: this._heightIndex(),\n\t\t\ttoastsHeightBefore: this._toastsHeightBefore(),\n\t\t}),\n\t\tcomputation: ({ heightIndex, toastsHeightBefore }) =>\n\t\t\tMath.round(heightIndex * this._config.gap + toastsHeightBefore),\n\t});\n\n\tprivate _closeTimerStartTimeRef = 0;\n\tprivate _lastCloseTimerStartTimeRef = 0;\n\tprivate _pointerStartRef: { x: number; y: number } | null = null;\n\n\tprotected readonly _coords = computed(() => this._toastPosition().split('-'));\n\tprivate readonly _toastsHeightBefore = computed(() =>\n\t\tthis._heights().reduce((prev, curr, reducerIndex) => {\n\t\t\tif (reducerIndex >= this._heightIndex()) return prev;\n\t\t\treturn prev + curr.height;\n\t\t}, 0),\n\t);\n\tprotected readonly _invert = computed(() => this.toast().invert ?? this.invert());\n\tprotected readonly _closeButton = computed(() => this.toast().closeButton ?? this.closeButton());\n\tprotected readonly _disabled = computed(() => this._toastType() === 'loading');\n\n\tprivate _timeoutId: ReturnType<typeof setTimeout> | undefined;\n\tprivate _remainingTime = 0;\n\n\tprivate readonly _isPromiseLoadingOrInfiniteDuration = computed(\n\t\t() =>\n\t\t\t(this.toast().promise && this._toastType() === 'loading') || this.toast().duration === Number.POSITIVE_INFINITY,\n\t);\n\n\tprotected readonly _toastClasses = computed(() =>\n\t\tclsx(\n\t\t\tthis.userClass(),\n\t\t\tthis._toastClass(),\n\t\t\tthis._classes().toast,\n\t\t\tthis.toast().classes?.toast,\n\t\t\tthis._classes()[this._toastType()],\n\t\t\tthis.toast().classes?.[this._toastType()],\n\t\t),\n\t);\n\tprotected readonly _toastStyle = computed(() => ({\n\t\t'--index': `${this.index()}`,\n\t\t'--toasts-before': `${this.index()}`,\n\t\t'--z-index': `${this._toasts().length - this.index()}`,\n\t\t'--offset': `${this._removed() ? this._offsetBeforeRemove() : this._offset()}px`,\n\t\t'--initial-height': this.expandByDefault() ? 'auto' : `${this._initialHeight()}px`,\n\t\t...this.style(),\n\t}));\n\tprotected readonly _actionButtonClasses = computed(() =>\n\t\tclsx(this._classes().actionButton, this.toast().classes?.actionButton),\n\t);\n\tprotected readonly _cancelButtonClasses = computed(() =>\n\t\tclsx(this._classes().cancelButton, this.toast().classes?.cancelButton),\n\t);\n\tprotected readonly _toastDescriptionClasses = computed(() =>\n\t\tclsx(\n\t\t\tthis.descriptionClass(),\n\t\t\tthis._toastDescriptionClass(),\n\t\t\tthis._classes().description,\n\t\t\tthis.toast().classes?.description,\n\t\t),\n\t);\n\tprotected readonly _titleClasses = computed(() => clsx(this._classes().title, this.toast().classes?.title));\n\tprotected readonly _closeButtonClasses = computed(() =>\n\t\tclsx(this._classes().closeButton, this.toast().classes?.closeButton),\n\t);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this.toast().updated) {\n\t\t\t\t// if the toast has been updated after the initial render,\n\t\t\t\t// we want to reset the timer and set the remaining time to the\n\t\t\t\t// new duration\n\t\t\t\tclearTimeout(this._timeoutId);\n\t\t\t\tthis._remainingTime = this.toast().duration ?? this.duration() ?? this._config.toastLifetime;\n\t\t\t\tthis.startTimer();\n\t\t\t}\n\t\t});\n\n\t\tafterRenderEffect((onCleanup) => {\n\t\t\tif (!this._isPromiseLoadingOrInfiniteDuration()) {\n\t\t\t\tif (this.expanded() || this.interacting()) {\n\t\t\t\t\tthis.pauseTimer();\n\t\t\t\t} else {\n\t\t\t\t\tthis.startTimer();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonCleanup(() => clearTimeout(this._timeoutId));\n\t\t});\n\n\t\teffect(() => {\n\t\t\tif (this.toast().delete) {\n\t\t\t\tthis.deleteToast();\n\t\t\t}\n\t\t});\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._remainingTime = this.toast().duration ?? this.duration() ?? this._config.toastLifetime;\n\t\tthis._mounted.set(true);\n\t\tconst height = this._toastRef().nativeElement.getBoundingClientRect().height;\n\t\tthis._initialHeight.set(height);\n\t\tthis._addHeight({ toastId: this.toast().id, height, position: this._toastPosition() });\n\t}\n\n\tngOnDestroy() {\n\t\tclearTimeout(this._timeoutId);\n\t\tthis._removeHeight(this.toast().id);\n\t}\n\n\tdeleteToast() {\n\t\tthis._removed.set(true);\n\t\tthis._offsetBeforeRemove.set(this._offset());\n\n\t\tthis._removeHeight(this.toast().id);\n\n\t\tsetTimeout(() => {\n\t\t\tthis._dismiss(this.toast().id);\n\t\t}, this._config.timeBeforeUnmount);\n\t}\n\n\t// If toast's duration changes, it will be out of sync with the\n\t// remainingAtTimeout, so we know we need to restart the timer\n\t// with the new duration\n\n\t// Pause the timer on each hover\n\tpauseTimer() {\n\t\tif (this._lastCloseTimerStartTimeRef < this._closeTimerStartTimeRef) {\n\t\t\t// Get the elapsed time since the timer started\n\t\t\tconst elapsedTime = new Date().getTime() - this._closeTimerStartTimeRef;\n\t\t\tthis._remainingTime = this._remainingTime - elapsedTime;\n\t\t}\n\n\t\tthis._lastCloseTimerStartTimeRef = new Date().getTime();\n\t}\n\n\tstartTimer() {\n\t\tthis._closeTimerStartTimeRef = new Date().getTime();\n\t\t// Let the toast know it has started\n\t\tthis._timeoutId = setTimeout(() => {\n\t\t\tthis.toast().onAutoClose?.(this.toast());\n\t\t\tthis.deleteToast();\n\t\t}, this._remainingTime);\n\t}\n\n\tonPointerDown(event: PointerEvent) {\n\t\tif (this._disabled() || !this.toast().dismissible) return;\n\n\t\tthis._offsetBeforeRemove.set(this._offset());\n\t\tconst target = event.target as HTMLElement;\n\t\t// Ensure we maintain correct pointer capture even when going outside the toast (e.g. when swiping)\n\t\ttarget.setPointerCapture(event.pointerId);\n\t\tif (target.tagName === 'BUTTON') {\n\t\t\treturn;\n\t\t}\n\t\tthis._swiping.set(true);\n\t\tthis._pointerStartRef = { x: event.clientX, y: event.clientY };\n\t}\n\n\tonPointerUp() {\n\t\tif (this._swipeOut() || !this.toast().dismissible) return;\n\n\t\tthis._pointerStartRef = null;\n\t\tconst swipeAmount = Number(\n\t\t\tthis._toastRef().nativeElement.style.getPropertyValue('--swipe-amount').replace('px', '') || 0,\n\t\t);\n\n\t\t// Remove only if threshold is met\n\t\tif (Math.abs(swipeAmount) >= this._config.swipeThreshold) {\n\t\t\tthis._offsetBeforeRemove.set(this._offset());\n\t\t\tthis.toast().onDismiss?.(this.toast());\n\t\t\tthis.deleteToast();\n\t\t\tthis._swipeOut.set(true);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._toastRef().nativeElement.style.setProperty('--swipe-amount', '0px');\n\t\tthis._swiping.set(false);\n\t}\n\n\tonPointerMove(event: PointerEvent) {\n\t\tif (!this._pointerStartRef || !this.toast().dismissible) return;\n\n\t\tconst yPosition = event.clientY - this._pointerStartRef.y;\n\t\tconst xPosition = event.clientX - this._pointerStartRef.x;\n\n\t\tconst clamp = this._coords()[0] === 'top' ? Math.min : Math.max;\n\t\tconst clampedY = clamp(0, yPosition);\n\t\tconst swipeStartThreshold = event.pointerType === 'touch' ? 10 : 2;\n\t\tconst isAllowedToSwipe = Math.abs(clampedY) > swipeStartThreshold;\n\n\t\tif (isAllowedToSwipe) {\n\t\t\tthis._toastRef().nativeElement.style.setProperty('--swipe-amount', `${yPosition}px`);\n\t\t} else if (Math.abs(xPosition) > swipeStartThreshold) {\n\t\t\t// User is swiping in wrong direction, so we disable swipe gesture\n\t\t\t// for the current pointer down interaction\n\t\t\tthis._pointerStartRef = null;\n\t\t}\n\t}\n\n\tonCloseButtonClick() {\n\t\tif (this._disabled() || !this.toast().dismissible) return;\n\t\tthis.deleteToast();\n\t\tthis.toast().onDismiss?.(this.toast());\n\t}\n\n\tonCancelClick() {\n\t\tconst toast = this.toast();\n\t\tif (!toast.dismissible) return;\n\t\tthis.deleteToast();\n\t\tif (toast.cancel?.onClick) {\n\t\t\ttoast.cancel.onClick();\n\t\t}\n\t}\n\n\tonActionClick(event: MouseEvent) {\n\t\tconst toast = this.toast();\n\t\ttoast.action?.onClick(event);\n\t\tif (event.defaultPrevented) return;\n\t\tthis.deleteToast();\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Position, ToastT } from '../types';\n\n@Pipe({ name: 'toastFilter' })\nexport class ToastFilterPipe implements PipeTransform {\n\ttransform(toasts: ToastT[], index: number, position: Position): ToastT[] {\n\t\treturn toasts.filter((toast) => (!toast.position && index === 0) || toast.position === position);\n\t}\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport type { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\tDestroyRef,\n\tDOCUMENT,\n\tElementRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tnumberAttribute,\n\tPLATFORM_ID,\n\tsignal,\n\tTemplateRef,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnSonnerIcon } from './brn-icon';\nimport { BrnSonnerLoader } from './brn-loader';\nimport { BrnSonnerToast } from './brn-toast';\nimport { injectBrnSonnerToasterConfig } from './brn-toaster.token';\nimport { ToastFilterPipe } from './pipes/toast-filter.pipe';\nimport { toastState } from './state';\nimport type { Position, Theme, ToasterProps } from './types';\n\n@Component({\n\tselector: 'brn-sonner-toaster',\n\timports: [BrnSonnerToast, ToastFilterPipe, BrnSonnerIcon, BrnSonnerLoader, NgTemplateOutlet],\n\t// eslint-disable-next-line @nx/workspace-avoid-component-styles\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstyleUrl: 'brn-toaster.css',\n\ttemplate: `\n\t\t@if (_toasts().length > 0) {\n\t\t\t<section [attr.aria-label]=\"'Notifications ' + _hotKeyLabel()\" [tabIndex]=\"-1\">\n\t\t\t\t@for (pos of _possiblePositions(); track pos) {\n\t\t\t\t\t<ol\n\t\t\t\t\t\t#listRef\n\t\t\t\t\t\t[tabIndex]=\"-1\"\n\t\t\t\t\t\t[class]=\"userClass()\"\n\t\t\t\t\t\tdata-sonner-toaster\n\t\t\t\t\t\t[attr.data-theme]=\"_actualTheme()\"\n\t\t\t\t\t\t[attr.data-rich-colors]=\"richColors()\"\n\t\t\t\t\t\t[attr.dir]=\"direction()\"\n\t\t\t\t\t\t[attr.data-y-position]=\"pos.split('-')[0]\"\n\t\t\t\t\t\t[attr.data-x-position]=\"pos.split('-')[1]\"\n\t\t\t\t\t\t[style]=\"_toasterStyles()\"\n\t\t\t\t\t\t(blur)=\"handleBlur($event)\"\n\t\t\t\t\t\t(focus)=\"handleFocus($event)\"\n\t\t\t\t\t\t(mouseenter)=\"_expanded.set(true)\"\n\t\t\t\t\t\t(mousemove)=\"_expanded.set(true)\"\n\t\t\t\t\t\t(mouseleave)=\"handleMouseLeave()\"\n\t\t\t\t\t\t(pointerdown)=\"handlePointerDown($event)\"\n\t\t\t\t\t\t(pointerup)=\"_interacting.set(false)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t@for (toast of _toasts() | toastFilter: $index : pos; track toast.id) {\n\t\t\t\t\t\t\t<brn-sonner-toast\n\t\t\t\t\t\t\t\t[index]=\"$index\"\n\t\t\t\t\t\t\t\t[toast]=\"toast\"\n\t\t\t\t\t\t\t\t[invert]=\"invert()\"\n\t\t\t\t\t\t\t\t[visibleToasts]=\"visibleToasts()\"\n\t\t\t\t\t\t\t\t[closeButton]=\"closeButton()\"\n\t\t\t\t\t\t\t\t[interacting]=\"_interacting()\"\n\t\t\t\t\t\t\t\t[position]=\"pos\"\n\t\t\t\t\t\t\t\t[expandByDefault]=\"expand()\"\n\t\t\t\t\t\t\t\t[expanded]=\"_expanded()\"\n\t\t\t\t\t\t\t\t[actionButtonStyle]=\"toastOptions().actionButtonStyle\"\n\t\t\t\t\t\t\t\t[cancelButtonStyle]=\"toastOptions().cancelButtonStyle\"\n\t\t\t\t\t\t\t\t[class]=\"toastOptions().class ?? ''\"\n\t\t\t\t\t\t\t\t[descriptionClass]=\"toastOptions().descriptionClass ?? ''\"\n\t\t\t\t\t\t\t\t[classes]=\"toastOptions().classes ?? {}\"\n\t\t\t\t\t\t\t\t[duration]=\"toastOptions().duration ?? duration()\"\n\t\t\t\t\t\t\t\t[unstyled]=\"toastOptions().unstyled ?? false\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (_loadingIcon(); as loadingIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"loadingIcon\" loading-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-loader [isVisible]=\"toast.type === 'loading'\" loading-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_successIcon(); as successIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"successIcon\" success-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"success\" success-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_errorIcon(); as errorIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"errorIcon\" error-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"error\" error-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_warningIcon(); as warningIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"warningIcon\" warning-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"warning\" warning-icon />\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if (_infoIcon(); as infoIcon) {\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"infoIcon\" info-icon />\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t<brn-sonner-icon type=\"info\" info-icon />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</brn-sonner-toast>\n\t\t\t\t\t\t}\n\t\t\t\t\t</ol>\n\t\t\t\t}\n\t\t\t</section>\n\t\t}\n\t`,\n})\nexport class BrnSonnerToaster {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _config = injectBrnSonnerToasterConfig();\n\tprivate readonly _document = inject(DOCUMENT);\n\tprivate readonly _window = this._document.defaultView;\n\tprivate readonly _dir = inject(Directionality);\n\n\tprotected readonly _toasts = toastState.toasts;\n\tprivate readonly _heights = toastState.heights;\n\tprivate readonly _reset = toastState.reset;\n\n\tpublic readonly invert = input<ToasterProps['invert'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly theme = input<ToasterProps['theme']>('light');\n\tpublic readonly position = input<ToasterProps['position']>('bottom-right');\n\tpublic readonly hotKey = input<ToasterProps['hotkey']>(['altKey', 'KeyT']);\n\tpublic readonly richColors = input<ToasterProps['richColors'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly expand = input<ToasterProps['expand'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly duration = input<ToasterProps['duration'], NumberInput>(this._config.toastLifetime, {\n\t\ttransform: numberAttribute,\n\t});\n\tpublic readonly visibleToasts = input<ToasterProps['visibleToasts'], NumberInput>(this._config.visibleToastsAmount, {\n\t\ttransform: numberAttribute,\n\t});\n\tpublic readonly closeButton = input<ToasterProps['closeButton'], BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly toastOptions = input<ToasterProps['toastOptions']>({});\n\tpublic readonly offset = input<ToasterProps['offset']>(null);\n\tpublic readonly userClass = input('', { alias: 'class' });\n\tpublic readonly style = input<Record<string, string>>({});\n\n\tprotected readonly _possiblePositions = computed(\n\t\t() =>\n\t\t\tArray.from(\n\t\t\t\tnew Set(\n\t\t\t\t\t[\n\t\t\t\t\t\tthis.position(),\n\t\t\t\t\t\t...this._toasts()\n\t\t\t\t\t\t\t.filter((toast) => toast.position)\n\t\t\t\t\t\t\t.map((toast) => toast.position),\n\t\t\t\t\t].filter(Boolean),\n\t\t\t\t),\n\t\t\t) as Position[],\n\t);\n\n\tprotected readonly _expanded = linkedSignal({\n\t\tsource: this._toasts,\n\t\tcomputation: (toasts) => toasts.length < 1,\n\t});\n\tprotected readonly _actualTheme = linkedSignal({\n\t\tsource: this.theme,\n\t\tcomputation: (newTheme) => this.getActualTheme(newTheme),\n\t});\n\tprotected readonly _interacting = signal(false);\n\n\t/** internal **/\n\tpublic readonly direction = this._dir.valueSignal;\n\n\tprivate readonly _listRef = viewChild<ElementRef<HTMLOListElement>>('listRef');\n\tprivate readonly _lastFocusedElementRef = signal<HTMLElement | null>(null);\n\tprivate readonly _isFocusWithinRef = signal(false);\n\n\tprotected readonly _hotKeyLabel = computed(() => this.hotKey().join('+').replace(/Key/g, '').replace(/Digit/g, ''));\n\n\tprotected readonly _toasterStyles = computed(() => ({\n\t\t'--front-toast-height': `${this._heights()[0]?.height}px`,\n\t\t'--offset':\n\t\t\ttypeof this.offset() === 'number' ? `${this.offset()}px` : (this.offset() ?? `${this._config.viewPortOffset}`),\n\t\t'--width': `${this._config.toastWidth}px`,\n\t\t'--gap': `${this._config.gap}px`,\n\t\t...this.style(),\n\t}));\n\n\tprotected readonly _loadingIcon = contentChild('loadingIcon', { read: TemplateRef });\n\tprotected readonly _successIcon = contentChild('successIcon', { read: TemplateRef });\n\tprotected readonly _errorIcon = contentChild('errorIcon', { read: TemplateRef });\n\tprotected readonly _warningIcon = contentChild('warningIcon', { read: TemplateRef });\n\tprotected readonly _infoIcon = contentChild('infoIcon', { read: TemplateRef });\n\n\tconstructor() {\n\t\tthis._reset();\n\n\t\tconst destroyRef = inject(DestroyRef);\n\n\t\tafterNextRender(() => {\n\t\t\tthis._document.addEventListener('keydown', this.handleKeydown);\n\n\t\t\tconst window = this._window;\n\t\t\tif (window) {\n\t\t\t\tthis._window\n\t\t\t\t\t.matchMedia('(prefers-color-scheme: dark)')\n\t\t\t\t\t.addEventListener('change', this.handleThemePreferenceChange);\n\t\t\t}\n\n\t\t\tdestroyRef.onDestroy(() => {\n\t\t\t\tthis._document.removeEventListener('keydown', this.handleKeydown);\n\t\t\t\tif (window) {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.matchMedia('(prefers-color-scheme: dark)')\n\t\t\t\t\t\t.removeEventListener('change', this.handleThemePreferenceChange);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\thandleBlur(event: FocusEvent) {\n\t\tif (this._isFocusWithinRef() && !(event.target as HTMLOListElement).contains(event.relatedTarget as HTMLElement)) {\n\t\t\tthis._isFocusWithinRef.set(false);\n\t\t\tif (this._lastFocusedElementRef()) {\n\t\t\t\tthis._lastFocusedElementRef()?.focus({ preventScroll: true });\n\t\t\t\tthis._lastFocusedElementRef.set(null);\n\t\t\t}\n\t\t}\n\t}\n\n\thandleFocus(event: FocusEvent) {\n\t\tconst isNotDismissible = event.target instanceof HTMLElement && event.target.dataset['dismissible'] === 'false';\n\n\t\tif (isNotDismissible) return;\n\n\t\tif (!this._isFocusWithinRef()) {\n\t\t\tthis._isFocusWithinRef.set(true);\n\t\t\tthis._lastFocusedElementRef.set(event.relatedTarget as HTMLElement);\n\t\t}\n\t}\n\n\thandlePointerDown(event: MouseEvent) {\n\t\tconst isNotDismissible = event.target instanceof HTMLElement && event.target.dataset['dismissible'] === 'false';\n\n\t\tif (isNotDismissible) return;\n\t\tthis._interacting.set(true);\n\t}\n\n\thandleMouseLeave() {\n\t\tif (!this._interacting()) {\n\t\t\tthis._expanded.set(false);\n\t\t}\n\t}\n\n\tprivate readonly handleKeydown = (event: KeyboardEvent) => {\n\t\tconst listRef = this._listRef()?.nativeElement;\n\t\tif (!listRef) return;\n\n\t\tconst isHotkeyPressed = this.hotKey().every((key) => (event as never)[key] || event.code === key);\n\n\t\tif (isHotkeyPressed) {\n\t\t\tthis._expanded.set(true);\n\t\t\tlistRef.focus();\n\t\t}\n\n\t\tif (\n\t\t\tevent.code === 'Escape' &&\n\t\t\t(this._document.activeElement === listRef || listRef.contains(this._document.activeElement))\n\t\t) {\n\t\t\tthis._expanded.set(false);\n\t\t}\n\t};\n\n\tprivate readonly handleThemePreferenceChange = ({ matches }: MediaQueryListEvent) => {\n\t\tif (this.theme() === 'system') {\n\t\t\tthis._actualTheme.set(matches ? 'dark' : 'light');\n\t\t}\n\t};\n\n\tprivate getActualTheme(theme: Theme): Theme {\n\t\tif (theme !== 'system') {\n\t\t\treturn theme;\n\t\t}\n\n\t\tif (isPlatformBrowser(this._platformId) && this._window) {\n\t\t\tconst prefersDark = this._window.matchMedia?.('(prefers-color-scheme: dark)').matches;\n\t\t\treturn prefersDark ? 'dark' : 'light';\n\t\t}\n\n\t\treturn 'light';\n\t}\n}\n","import { BrnSonnerToaster } from './lib/brn-toaster';\n\nexport * from './lib/brn-toaster';\nexport * from './lib/brn-toaster.token';\nexport * from './lib/state';\nexport * from './lib/types';\n\nexport const BrnSonnerImports = [BrnSonnerToaster] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -23,13 +23,13 @@ class BrnSwitch {
|
|
|
23
23
|
_cdr = inject(ChangeDetectorRef);
|
|
24
24
|
_document = inject(DOCUMENT);
|
|
25
25
|
_fieldControl = inject(BrnFieldControl, { optional: true });
|
|
26
|
-
_focusVisible = signal(false, ...(ngDevMode ? [{ debugName: "_focusVisible" }] : []));
|
|
27
|
-
_focused = signal(false, ...(ngDevMode ? [{ debugName: "_focused" }] : []));
|
|
26
|
+
_focusVisible = signal(false, ...(ngDevMode ? [{ debugName: "_focusVisible" }] : /* istanbul ignore next */ []));
|
|
27
|
+
_focused = signal(false, ...(ngDevMode ? [{ debugName: "_focused" }] : /* istanbul ignore next */ []));
|
|
28
28
|
/**
|
|
29
29
|
* Whether switch is checked/toggled on.
|
|
30
30
|
* Can be bound with [(checked)] for two-way binding.
|
|
31
31
|
*/
|
|
32
|
-
checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
|
|
32
|
+
checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
|
|
33
33
|
/** Emits when checked state changes. */
|
|
34
34
|
checkedChange = output();
|
|
35
35
|
/**
|
|
@@ -37,47 +37,45 @@ class BrnSwitch {
|
|
|
37
37
|
* When provided, inner button gets ID without '-switch' suffix.
|
|
38
38
|
* Auto-generates ID if not provided.
|
|
39
39
|
*/
|
|
40
|
-
id = input(++uniqueIdCounter + '', ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
40
|
+
id = input(++uniqueIdCounter + '', ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
41
41
|
/**
|
|
42
42
|
* Form control name for switch.
|
|
43
43
|
* When provided, inner button gets name without '-switch' suffix.
|
|
44
44
|
*/
|
|
45
|
-
name = input(null, ...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
45
|
+
name = input(null, ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
46
46
|
/**
|
|
47
47
|
* CSS classes applied to inner button element.
|
|
48
48
|
*/
|
|
49
|
-
class = input(null, ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
49
|
+
class = input(null, ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
50
50
|
/**
|
|
51
51
|
* Accessibility label for screen readers.
|
|
52
52
|
* Use when no visible label exists.
|
|
53
53
|
*/
|
|
54
|
-
ariaLabel = input(null, ...(ngDevMode ?
|
|
54
|
+
ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
|
|
55
55
|
/**
|
|
56
56
|
* ID of element that labels this switch for accessibility.
|
|
57
57
|
* Auto-set when switch is inside label element.
|
|
58
58
|
*/
|
|
59
|
-
ariaLabelledby = input(null, ...(ngDevMode ?
|
|
60
|
-
mutableAriaLabelledby = linkedSignal(() => this.ariaLabelledby(), ...(ngDevMode ? [{ debugName: "mutableAriaLabelledby" }] : []));
|
|
59
|
+
ariaLabelledby = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
|
|
60
|
+
mutableAriaLabelledby = linkedSignal(() => this.ariaLabelledby(), ...(ngDevMode ? [{ debugName: "mutableAriaLabelledby" }] : /* istanbul ignore next */ []));
|
|
61
61
|
/**
|
|
62
62
|
* ID of element that describes this switch for accessibility.
|
|
63
63
|
*/
|
|
64
|
-
ariaDescribedby = input(null, ...(ngDevMode ?
|
|
64
|
+
ariaDescribedby = input(null, { ...(ngDevMode ? { debugName: "ariaDescribedby" } : /* istanbul ignore next */ {}), alias: 'aria-describedby' });
|
|
65
65
|
/**
|
|
66
66
|
* Whether switch is required in a form.
|
|
67
67
|
*/
|
|
68
|
-
required = input(false, ...(ngDevMode ?
|
|
68
|
+
required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
69
69
|
/**
|
|
70
70
|
* Whether switch is disabled.
|
|
71
71
|
* Disabled switches cannot be toggled and indicate disabled state with data attribute.
|
|
72
72
|
*/
|
|
73
|
-
disabled = input(false, ...(ngDevMode ?
|
|
74
|
-
transform: booleanAttribute,
|
|
75
|
-
}]));
|
|
73
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
76
74
|
/**
|
|
77
75
|
* Keyboard tab order for switch.
|
|
78
76
|
* @default 0
|
|
79
77
|
*/
|
|
80
|
-
tabIndex = input(0, ...(ngDevMode ?
|
|
78
|
+
tabIndex = input(0, { ...(ngDevMode ? { debugName: "tabIndex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
81
79
|
/**
|
|
82
80
|
* Event emitted when switch is blurred (loses focus).
|
|
83
81
|
* Used for form validation.
|
|
@@ -96,13 +94,13 @@ class BrnSwitch {
|
|
|
96
94
|
name: name ? name + CONTAINER_POST_FIX : null,
|
|
97
95
|
id: id ? id + CONTAINER_POST_FIX : null,
|
|
98
96
|
};
|
|
99
|
-
}, ...(ngDevMode ? [{ debugName: "_state" }] : []));
|
|
97
|
+
}, ...(ngDevMode ? [{ debugName: "_state" }] : /* istanbul ignore next */ []));
|
|
100
98
|
controlState = this._fieldControl?.controlState;
|
|
101
99
|
_invalid = this._fieldControl?.invalid;
|
|
102
100
|
_touched = this._fieldControl?.touched;
|
|
103
101
|
_dirty = this._fieldControl?.dirty;
|
|
104
102
|
_spartanInvalid = this._fieldControl?.spartanInvalid;
|
|
105
|
-
labelableId = computed(() => this.getSwitchButtonId(this._state().id), ...(ngDevMode ? [{ debugName: "labelableId" }] : []));
|
|
103
|
+
labelableId = computed(() => this.getSwitchButtonId(this._state().id), ...(ngDevMode ? [{ debugName: "labelableId" }] : /* istanbul ignore next */ []));
|
|
106
104
|
constructor() {
|
|
107
105
|
afterRenderEffect(() => {
|
|
108
106
|
const state = this._state();
|
|
@@ -217,8 +215,8 @@ class BrnSwitch {
|
|
|
217
215
|
this._state().disabled.set(isDisabled);
|
|
218
216
|
this._cdr.markForCheck();
|
|
219
217
|
}
|
|
220
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
221
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
218
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSwitch, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.16", type: BrnSwitch, isStandalone: true, selector: "brn-switch", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", checkedChange: "checkedChange", touched: "touched" }, host: { properties: { "style": "{display: \"contents\"}", "attr.id": "_state().id", "attr.name": "_state().name", "attr.aria-labelledby": "null", "attr.aria-label": "null", "attr.aria-describedby": "null", "attr.aria-invalid": "_invalid?.() ? \"true\" : null", "attr.data-dirty": "_dirty?.() ? \"true\": null", "attr.data-touched": "_touched?.() ? \"true\" : null", "attr.data-matches-spartan-invalid": "_spartanInvalid?.() ? \"true\" : null", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-focus-visible": "_focusVisible()", "attr.data-focus": "_focused()", "attr.data-disabled": "_state().disabled()" } }, providers: [BRN_SWITCH_VALUE_ACCESSOR, provideBrnLabelable(BrnSwitch)], viewQueries: [{ propertyName: "switch", first: true, predicate: ["switch"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.BrnFieldControl }], ngImport: i0, template: `
|
|
222
220
|
<button
|
|
223
221
|
#switch
|
|
224
222
|
role="switch"
|
|
@@ -247,7 +245,7 @@ class BrnSwitch {
|
|
|
247
245
|
</button>
|
|
248
246
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
249
247
|
}
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSwitch, decorators: [{
|
|
251
249
|
type: Component,
|
|
252
250
|
args: [{
|
|
253
251
|
selector: 'brn-switch',
|
|
@@ -302,10 +300,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
302
300
|
}], ctorParameters: () => [], propDecorators: { checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], checkedChange: [{ type: i0.Output, args: ["checkedChange"] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], touched: [{ type: i0.Output, args: ["touched"] }], switch: [{ type: i0.ViewChild, args: ['switch', { isSignal: true }] }] } });
|
|
303
301
|
|
|
304
302
|
class BrnSwitchThumb {
|
|
305
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
306
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
303
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSwitchThumb, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
304
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.16", type: BrnSwitchThumb, isStandalone: true, selector: "brn-switch-thumb", host: { attributes: { "role": "presentation" }, listeners: { "click": "$event.preventDefault()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
307
305
|
}
|
|
308
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSwitchThumb, decorators: [{
|
|
309
307
|
type: Component,
|
|
310
308
|
args: [{
|
|
311
309
|
selector: 'brn-switch-thumb',
|