angular-visuals 0.1.0 → 0.1.2
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/angular-visuals.mjs +3293 -0
- package/fesm2022/angular-visuals.mjs.map +1 -0
- package/package.json +5 -15
- package/types/angular-visuals.d.ts +983 -0
- /package/{src/styles → styles}/angular-visuals.css +0 -0
- /package/{src/styles → styles}/animations.css +0 -0
- /package/{src/styles → styles}/palette.css +0 -0
- /package/{src/styles → styles}/theme.css +0 -0
- /package/{src/styles → styles}/typography.css +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angular-visuals.mjs","sources":["../../../projects/angular-visuals/src/utils/loader-icon-seed.ts","../../../projects/angular-visuals/src/utils/icons-seed.ts","../../../projects/angular-visuals/src/lib/core/services/IconRegistry.service.ts","../../../projects/angular-visuals/src/lib/components/base/av-icon/av-icon.component.ts","../../../projects/angular-visuals/src/lib/components/base/av-icon/av-icon.component.html","../../../projects/angular-visuals/src/lib/core/tokens/configuration.ts","../../../projects/angular-visuals/src/lib/core/services/ThemeService.service.ts","../../../projects/angular-visuals/src/lib/components/nav/av-dropdown/av-dropdown.component.ts","../../../projects/angular-visuals/src/lib/components/nav/av-dropdown/av-dropdown.component.html","../../../projects/angular-visuals/src/lib/components/nav/av-nav-link/av-nav-link.component.ts","../../../projects/angular-visuals/src/lib/components/nav/av-nav-link/av-nav-link.component.html","../../../projects/angular-visuals/src/lib/components/nav/av-sidenav/av-sidenav.ts","../../../projects/angular-visuals/src/lib/components/nav/av-sidenav/av-sidenav.html","../../../projects/angular-visuals/src/lib/primitives/av-cluster/av-cluster.ts","../../../projects/angular-visuals/src/lib/primitives/av-cluster/av-cluster.html","../../../projects/angular-visuals/src/lib/primitives/av-divider/av-divider.ts","../../../projects/angular-visuals/src/lib/primitives/av-divider/av-divider.html","../../../projects/angular-visuals/src/lib/primitives/av-inline/av-inline.ts","../../../projects/angular-visuals/src/lib/primitives/av-inline/av-inline.html","../../../projects/angular-visuals/src/lib/primitives/av-stack/av-stack.ts","../../../projects/angular-visuals/src/lib/primitives/av-stack/av-stack.html","../../../projects/angular-visuals/src/lib/components/overlay/av-tooltip/av-tooltip.ts","../../../projects/angular-visuals/src/lib/components/overlay/av-tooltip/av-tooltip.html","../../../projects/angular-visuals/src/lib/components/form/av-text-area/av-text-area.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-text-area/av-text-area.component.html","../../../projects/angular-visuals/src/lib/primitives/av-text/av-text.ts","../../../projects/angular-visuals/src/lib/primitives/av-text/av-text.html","../../../projects/angular-visuals/src/lib/components/form/av-file-upload/av-file-upload.ts","../../../projects/angular-visuals/src/lib/components/form/av-file-upload/av-file-upload.html","../../../projects/angular-visuals/src/lib/components/form/av-switch/av-switch.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-switch/av-switch.component.html","../../../projects/angular-visuals/src/lib/components/form/av-slider/av-slider.ts","../../../projects/angular-visuals/src/lib/components/form/av-slider/av-slider.html","../../../projects/angular-visuals/src/lib/components/form/av-input/av-input.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-input/av-input.component.html","../../../projects/angular-visuals/src/lib/components/form/av-select/av-select.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-select/av-select.component.html","../../../projects/angular-visuals/src/lib/components/form/av-checkbox/av-checkbox.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-checkbox/av-checkbox.component.html","../../../projects/angular-visuals/src/lib/components/form/av-currency-input/av-currency-input.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-currency-input/av-currency-input.component.html","../../../projects/angular-visuals/src/lib/components/form/av-date-time-picker/av-date-time-picker.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-date-time-picker/av-date-time-picker.component.html","../../../projects/angular-visuals/src/lib/components/form/av-form/av-form.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-form/av-form.component.html","../../../projects/angular-visuals/src/lib/components/form/av-multi-select/av-multi-select.component.ts","../../../projects/angular-visuals/src/lib/components/form/av-multi-select/av-multi-select.component.html","../../../projects/angular-visuals/src/lib/components/layout/av-grid/grid.component.ts","../../../projects/angular-visuals/src/lib/components/layout/av-grid/grid.component.html","../../../projects/angular-visuals/src/lib/components/base/av-button/av-button.component.ts","../../../projects/angular-visuals/src/lib/components/base/av-button/av-button.component.html","../../../projects/angular-visuals/src/lib/components/layout/av-paginator/av-paginator.component.ts","../../../projects/angular-visuals/src/lib/components/layout/av-paginator/av-paginator.component.html","../../../projects/angular-visuals/src/lib/components/feedback/progress-bars/av-progress-bar-circle/av-progress-bar-circle.component.ts","../../../projects/angular-visuals/src/lib/components/feedback/progress-bars/av-progress-bar-circle/av-progress-bar-circle.component.html","../../../projects/angular-visuals/src/lib/components/feedback/progress-bars/av-progress-bar/av-progress-bar.component.ts","../../../projects/angular-visuals/src/lib/components/feedback/progress-bars/av-progress-bar/av-progress-bar.component.html","../../../projects/angular-visuals/src/lib/components/midia/carousel/av-carousel-item/av-carousel-item.component.ts","../../../projects/angular-visuals/src/lib/components/midia/carousel/av-carousel-item/av-carousel-item.component.html","../../../projects/angular-visuals/src/lib/components/midia/carousel/av-carousel/av-carousel.component.ts","../../../projects/angular-visuals/src/lib/components/midia/carousel/av-carousel/av-carousel.component.html","../../../projects/angular-visuals/src/lib/components/nav/stepper/av-step/av-step.component.ts","../../../projects/angular-visuals/src/lib/components/nav/stepper/av-step/av-step.component.html","../../../projects/angular-visuals/src/lib/components/nav/stepper/av-stepper/av-stepper.component.ts","../../../projects/angular-visuals/src/lib/components/nav/stepper/av-stepper/av-stepper.component.html","../../../projects/angular-visuals/src/lib/components/nav/tabs/av-tab/av-tab.component.ts","../../../projects/angular-visuals/src/lib/components/nav/tabs/av-tab/av-tab.component.html","../../../projects/angular-visuals/src/lib/components/nav/tabs/av-tabs/av-tabs.component.ts","../../../projects/angular-visuals/src/lib/components/nav/tabs/av-tabs/av-tabs.component.html","../../../projects/angular-visuals/src/lib/components/layout/av-table/av-table.component.ts","../../../projects/angular-visuals/src/lib/components/layout/av-table/av-table.component.html","../../../projects/angular-visuals/src/lib/components/base/av-badge/av-badge.component.ts","../../../projects/angular-visuals/src/lib/components/base/av-badge/av-badge.component.html","../../../projects/angular-visuals/src/angular-visuals.ts"],"sourcesContent":["export const loaderSeed: Record<string, string> = {\n \"wind-toy\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>wind-toy</title><path fill=\"currentColor\" d=\"M20.27,4.74a4.93,4.93,0,0,1,1.52,4.61,5.32,5.32,0,0,1-4.1,4.51,5.12,5.12,0,0,1-5.2-1.5,5.53,5.53,0,0,0,6.13-1.48A5.66,5.66,0,0,0,20.27,4.74ZM12.32,11.53a5.49,5.49,0,0,0-1.47-6.2A5.57,5.57,0,0,0,4.71,3.72,5.17,5.17,0,0,1,9.53,2.2,5.52,5.52,0,0,1,13.9,6.45,5.28,5.28,0,0,1,12.32,11.53ZM19.2,20.29a4.92,4.92,0,0,1-4.72,1.49,5.32,5.32,0,0,1-4.34-4.05A5.2,5.2,0,0,1,11.6,12.5a5.6,5.6,0,0,0,1.51,6.13A5.63,5.63,0,0,0,19.2,20.29ZM3.79,19.38A5.18,5.18,0,0,1,2.32,14a5.3,5.3,0,0,1,4.59-4,5,5,0,0,1,4.58,1.61,5.55,5.55,0,0,0-6.32,1.69A5.46,5.46,0,0,0,3.79,19.38ZM12.23,12a5.11,5.11,0,0,0,3.66-5,5.75,5.75,0,0,0-3.18-6,5,5,0,0,1,4.42,2.3,5.21,5.21,0,0,1,.24,5.92A5.4,5.4,0,0,1,12.23,12ZM11.76,12a5.18,5.18,0,0,0-3.68,5.09,5.58,5.58,0,0,0,3.19,5.79c-1,.35-2.9-.46-4-1.68A5.51,5.51,0,0,1,11.76,12ZM23,12.63a5.07,5.07,0,0,1-2.35,4.52,5.23,5.23,0,0,1-5.91.2,5.24,5.24,0,0,1-2.67-4.77,5.51,5.51,0,0,0,5.45,3.33A5.52,5.52,0,0,0,23,12.63ZM1,11.23a5,5,0,0,1,2.49-4.5,5.23,5.23,0,0,1,5.81-.06,5.3,5.3,0,0,1,2.61,4.74A5.56,5.56,0,0,0,6.56,8.06,5.71,5.71,0,0,0,1,11.23Z\"><animateTransform attributeName=\"transform\" dur=\"1.5s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"wifi-fade\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>wifi-fade</title><path fill=\"currentColor\" d=\"M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21\" opacity=\"0\"><animate id=\"SVGkbUu7KtW\" fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGAiUxzdjl.end+0.2s\" dur=\"0.25s\" values=\"0;1\"/><animate id=\"SVGAiUxzdjl\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGV9fG3lbe.end+0.5s\" dur=\"0.1s\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z\" opacity=\"0\"><animate id=\"SVG2sZSgdIQ\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGkbUu7KtW.end\" dur=\"0.25s\" values=\"0;1\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGV9fG3lbe.end+0.5s\" dur=\"0.1s\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3\" opacity=\"0\"><animate id=\"SVGV9fG3lbe\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG2sZSgdIQ.end\" dur=\"0.25s\" values=\"0;1\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGV9fG3lbe.end+0.5s\" dur=\"0.1s\" values=\"1;0\"/></path></svg>',\n \"wify\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>wifi</title><path fill=\"currentColor\" d=\"M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21\" opacity=\"0\"><animate id=\"SVGKYQAHd9H\" fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGiICzmYiD.end+0.2s\" calcMode=\"discrete\" dur=\"0.25s\" values=\"0;1\"/><animate id=\"SVGiICzmYiD\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGqTmLtDFc.end+0.5s\" dur=\"0.001s\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z\" opacity=\"0\"><animate id=\"SVGPRCC2btp\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGKYQAHd9H.end\" calcMode=\"discrete\" dur=\"0.25s\" values=\"0;1\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGqTmLtDFc.end+0.5s\" dur=\"0.001s\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3\" opacity=\"0\"><animate id=\"SVGqTmLtDFc\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGPRCC2btp.end\" calcMode=\"discrete\" dur=\"0.25s\" values=\"0;1\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGqTmLtDFc.end+0.5s\" dur=\"0.001s\" values=\"1;0\"/></path></svg>',\n \"tadpole\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>tadpole</title><path fill=\"currentColor\" d=\"M12,23a9.63,9.63,0,0,1-8-9.5,9.51,9.51,0,0,1,6.79-9.1A1.66,1.66,0,0,0,12,2.81h0a1.67,1.67,0,0,0-1.94-1.64A11,11,0,0,0,12,23Z\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"ring-resize\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>ring-resize</title><g stroke=\"currentColor\"><circle cx=\"12\" cy=\"12\" r=\"9.5\" fill=\"none\" stroke-linecap=\"round\" stroke-width=\"3\"><animate attributeName=\"stroke-dasharray\" calcMode=\"spline\" dur=\"1.5s\" keySplines=\"0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1\" keyTimes=\"0;0.475;0.95;1\" repeatCount=\"indefinite\" values=\"0 150;42 150;42 150;42 150\"/><animate attributeName=\"stroke-dashoffset\" calcMode=\"spline\" dur=\"1.5s\" keySplines=\"0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1\" keyTimes=\"0;0.475;0.95;1\" repeatCount=\"indefinite\" values=\"0;-16;-59;-59\"/></circle><animateTransform attributeName=\"transform\" dur=\"2s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></g></svg>',\n \"pulse-rings-multiple\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse-rings-multiple</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVGBGG9rcpE\" attributeName=\"transform\" begin=\"0;SVGryjChH5y.end\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"0;SVGryjChH5y.end\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"0;SVGryjChH5y.end\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVG0KQtjdtU\" attributeName=\"transform\" begin=\"SVGBGG9rcpE.begin+0.2s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"SVGBGG9rcpE.begin+0.2s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"SVGBGG9rcpE.begin+0.2s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVGryjChH5y\" attributeName=\"transform\" begin=\"SVGBGG9rcpE.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"SVGBGG9rcpE.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"SVGBGG9rcpE.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path></svg>',\n \"pulse-rings-3\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse-rings-3</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVGr0dxBdJO\" attributeName=\"transform\" begin=\"0;SVG7Xy0ecki.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"0;SVG7Xy0ecki.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"0;SVG7Xy0ecki.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVGp2dhBhxA\" attributeName=\"transform\" begin=\"SVGr0dxBdJO.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"SVGr0dxBdJO.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"SVGr0dxBdJO.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVG7Xy0ecki\" attributeName=\"transform\" begin=\"SVGr0dxBdJO.begin+0.8s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"SVGr0dxBdJO.begin+0.8s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"SVGr0dxBdJO.begin+0.8s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path></svg>',\n \"pulse-rings-2\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse-rings-2</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVGk7g6Ie5D\" attributeName=\"transform\" begin=\"0;SVGADuEYsSK.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"0;SVGADuEYsSK.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"0;SVGADuEYsSK.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform id=\"SVGADuEYsSK\" attributeName=\"transform\" begin=\"SVGk7g6Ie5D.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" begin=\"SVGk7g6Ie5D.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" begin=\"SVGk7g6Ie5D.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></path></svg>',\n \"pulse-ring\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse-ring</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\" transform=\"matrix(0 0 0 0 12 12)\"><animateTransform attributeName=\"transform\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" repeatCount=\"indefinite\" type=\"translate\" values=\"12 12;0 0\"/><animateTransform additive=\"sum\" attributeName=\"transform\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" repeatCount=\"indefinite\" type=\"scale\" values=\"0;1\"/><animate attributeName=\"opacity\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" repeatCount=\"indefinite\" values=\"1;0\"/></path></svg>',\n \"pulse-multiple\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse-multiple</title><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGPW9ARccz\" fill=\"freeze\" attributeName=\"r\" begin=\"0;SVGaeu34cWL.end\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGaeu34cWL.end\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGODvPjeTJ\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGPW9ARccz.begin+0.2s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGPW9ARccz.begin+0.2s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGaeu34cWL\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGPW9ARccz.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGPW9ARccz.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle></svg>',\n \"pulse-3\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse-3</title><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGHRb9bJhy\" fill=\"freeze\" attributeName=\"r\" begin=\"0;SVGUoIUme6Z.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGUoIUme6Z.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGaun8abat\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGHRb9bJhy.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGHRb9bJhy.begin+0.4s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGUoIUme6Z\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGHRb9bJhy.begin+0.8s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGHRb9bJhy.begin+0.8s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle></svg>',\n \"pulse-2\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse-2</title><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVG0cdVlcnN\" fill=\"freeze\" attributeName=\"r\" begin=\"0;SVGftllRbIv.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGftllRbIv.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGftllRbIv\" fill=\"freeze\" attributeName=\"r\" begin=\"SVG0cdVlcnN.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"0;11\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG0cdVlcnN.begin+0.6s\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" values=\"1;0\"/></circle></svg>',\n \"pulse\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>pulse</title><circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate attributeName=\"r\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" repeatCount=\"indefinite\" values=\"0;11\"/><animate attributeName=\"opacity\" calcMode=\"spline\" dur=\"1.2s\" keySplines=\".52,.6,.25,.99\" repeatCount=\"indefinite\" values=\"1;0\"/></circle></svg>',\n \"gooey-balls-2\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>gooey-balls-2</title><defs><filter id=\"SVGp0LL3caJ\"><feGaussianBlur in=\"SourceGraphic\" result=\"y\" stdDeviation=\"1\"/><feColorMatrix in=\"y\" result=\"z\" values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7\"/><feBlend in=\"SourceGraphic\" in2=\"z\"/></filter></defs><g filter=\"url(#SVGp0LL3caJ)\"><circle cx=\"5\" cy=\"12\" r=\"4\" fill=\"currentColor\"><animate attributeName=\"cx\" calcMode=\"spline\" dur=\"2s\" keySplines=\".36,.62,.43,.99;.79,0,.58,.57\" repeatCount=\"indefinite\" values=\"5;8;5\"/></circle><circle cx=\"19\" cy=\"12\" r=\"4\" fill=\"currentColor\"><animate attributeName=\"cx\" calcMode=\"spline\" dur=\"2s\" keySplines=\".36,.62,.43,.99;.79,0,.58,.57\" repeatCount=\"indefinite\" values=\"19;16;19\"/></circle><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></g></svg>',\n \"gooey-balls-1\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>gooey-balls-1</title><defs><filter id=\"SVGg4wYRcsm\"><feGaussianBlur in=\"SourceGraphic\" result=\"y\" stdDeviation=\"1.5\"/><feColorMatrix in=\"y\" result=\"z\" values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7\"/><feBlend in=\"SourceGraphic\" in2=\"z\"/></filter></defs><g fill=\"currentColor\" filter=\"url(#SVGg4wYRcsm)\"><circle cx=\"4\" cy=\"12\" r=\"3\"><animate attributeName=\"cx\" calcMode=\"spline\" dur=\"0.75s\" keySplines=\".56,.52,.17,.98;.56,.52,.17,.98\" repeatCount=\"indefinite\" values=\"4;9;4\"/><animate attributeName=\"r\" calcMode=\"spline\" dur=\"0.75s\" keySplines=\".56,.52,.17,.98;.56,.52,.17,.98\" repeatCount=\"indefinite\" values=\"3;8;3\"/></circle><circle cx=\"15\" cy=\"12\" r=\"8\"><animate attributeName=\"cx\" calcMode=\"spline\" dur=\"0.75s\" keySplines=\".56,.52,.17,.98;.56,.52,.17,.98\" repeatCount=\"indefinite\" values=\"15;20;15\"/><animate attributeName=\"r\" calcMode=\"spline\" dur=\"0.75s\" keySplines=\".56,.52,.17,.98;.56,.52,.17,.98\" repeatCount=\"indefinite\" values=\"8;3;8\"/></circle></g></svg>',\n \"eclipse-half\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>eclipse-half</title><path fill=\"currentColor\" d=\"M2,12A10.94,10.94,0,0,1,5,4.65c-.21-.19-.42-.36-.62-.55h0A11,11,0,0,0,12,23c.34,0,.67,0,1-.05C6,23,2,17.74,2,12Z\"><animateTransform attributeName=\"transform\" dur=\"0.6s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"eclipse\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>eclipse</title><path fill=\"currentColor\" d=\"M2,12A11.2,11.2,0,0,1,13,1.05C12.67,1,12.34,1,12,1a11,11,0,0,0,0,22c.34,0,.67,0,1-.05C6,23,2,17.74,2,12Z\"><animateTransform attributeName=\"transform\" dur=\"0.6s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"dot-revolve\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>dot-revolve</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\" opacity=\".25\"/><circle cx=\"12\" cy=\"2.5\" r=\"1.5\" fill=\"currentColor\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></circle></svg>',\n \"clock\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>clock</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z\"/><rect width=\"2\" height=\"7\" x=\"11\" y=\"6\" fill=\"currentColor\" rx=\"1\"><animateTransform attributeName=\"transform\" dur=\"9s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></rect><rect width=\"2\" height=\"9\" x=\"11\" y=\"11\" fill=\"currentColor\" rx=\"1\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></rect></svg>',\n \"bouncing-ball\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>bouncing-ball</title><ellipse cx=\"12\" cy=\"5\" fill=\"currentColor\" rx=\"4\" ry=\"4\"><animate id=\"SVG2g6X4cnm\" fill=\"freeze\" attributeName=\"cy\" begin=\"0;SVGYUW1Wdmy.end\" calcMode=\"spline\" dur=\"0.375s\" keySplines=\".33,0,.66,.33\" values=\"5;20\"/><animate attributeName=\"rx\" begin=\"SVG2g6X4cnm.end\" calcMode=\"spline\" dur=\"0.05s\" keySplines=\".33,0,.66,.33;.33,.66,.66,1\" values=\"4;4.8;4\"/><animate attributeName=\"ry\" begin=\"SVG2g6X4cnm.end\" calcMode=\"spline\" dur=\"0.05s\" keySplines=\".33,0,.66,.33;.33,.66,.66,1\" values=\"4;3;4\"/><animate id=\"SVGb9s1Jd3o\" attributeName=\"cy\" begin=\"SVG2g6X4cnm.end\" calcMode=\"spline\" dur=\"0.025s\" keySplines=\".33,0,.66,.33\" values=\"20;20.5\"/><animate id=\"SVGYUW1Wdmy\" attributeName=\"cy\" begin=\"SVGb9s1Jd3o.end\" calcMode=\"spline\" dur=\"0.4s\" keySplines=\".33,.66,.66,1\" values=\"20.5;5\"/></ellipse></svg>',\n \"blocks-wave\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>blocks-wave</title><rect width=\"7.33\" height=\"7.33\" x=\"1\" y=\"1\" fill=\"currentColor\"><animate id=\"SVGzjrPLenI\" attributeName=\"x\" begin=\"0;SVGXAURnSRI.end+0.2s\" dur=\"0.6s\" values=\"1;4;1\"/><animate attributeName=\"y\" begin=\"0;SVGXAURnSRI.end+0.2s\" dur=\"0.6s\" values=\"1;4;1\"/><animate attributeName=\"width\" begin=\"0;SVGXAURnSRI.end+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"0;SVGXAURnSRI.end+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"8.33\" y=\"1\" fill=\"currentColor\"><animate attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"8.33;11.33;8.33\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"1;4;1\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"1\" y=\"8.33\" fill=\"currentColor\"><animate attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"1;4;1\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"8.33;11.33;8.33\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.1s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"15.66\" y=\"1\" fill=\"currentColor\"><animate attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"15.66;18.66;15.66\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"1;4;1\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"8.33\" y=\"8.33\" fill=\"currentColor\"><animate attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"8.33;11.33;8.33\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"8.33;11.33;8.33\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"1\" y=\"15.66\" fill=\"currentColor\"><animate attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"1;4;1\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"15.66;18.66;15.66\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.2s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"15.66\" y=\"8.33\" fill=\"currentColor\"><animate attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"15.66;18.66;15.66\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"8.33;11.33;8.33\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"8.33\" y=\"15.66\" fill=\"currentColor\"><animate attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"8.33;11.33;8.33\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"15.66;18.66;15.66\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.3s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect><rect width=\"7.33\" height=\"7.33\" x=\"15.66\" y=\"15.66\" fill=\"currentColor\"><animate id=\"SVGXAURnSRI\" attributeName=\"x\" begin=\"SVGzjrPLenI.begin+0.4s\" dur=\"0.6s\" values=\"15.66;18.66;15.66\"/><animate attributeName=\"y\" begin=\"SVGzjrPLenI.begin+0.4s\" dur=\"0.6s\" values=\"15.66;18.66;15.66\"/><animate attributeName=\"width\" begin=\"SVGzjrPLenI.begin+0.4s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/><animate attributeName=\"height\" begin=\"SVGzjrPLenI.begin+0.4s\" dur=\"0.6s\" values=\"7.33;1.33;7.33\"/></rect></svg>',\n \"blocks-shuffle-3\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>blocks-shuffle-3</title><rect width=\"10\" height=\"10\" x=\"1\" y=\"1\" fill=\"currentColor\" rx=\"1\"><animate id=\"SVG7WybndBt\" fill=\"freeze\" attributeName=\"x\" begin=\"0;SVGo3aOUHlJ.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGVoKldbWM\" fill=\"freeze\" attributeName=\"y\" begin=\"SVGFpk9ncYc.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGKsXgPbui\" fill=\"freeze\" attributeName=\"x\" begin=\"SVGaI8owdNK.end\" dur=\"0.2s\" values=\"13;1\"/><animate id=\"SVG7JzAfdGT\" fill=\"freeze\" attributeName=\"y\" begin=\"SVG28A4To9L.end\" dur=\"0.2s\" values=\"13;1\"/></rect><rect width=\"10\" height=\"10\" x=\"1\" y=\"13\" fill=\"currentColor\" rx=\"1\"><animate id=\"SVGUiS2jeZq\" fill=\"freeze\" attributeName=\"y\" begin=\"SVG7WybndBt.end\" dur=\"0.2s\" values=\"13;1\"/><animate id=\"SVGU0vu2GEM\" fill=\"freeze\" attributeName=\"x\" begin=\"SVGVoKldbWM.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGOIboFeLf\" fill=\"freeze\" attributeName=\"y\" begin=\"SVGKsXgPbui.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVG14lAaeuv\" fill=\"freeze\" attributeName=\"x\" begin=\"SVG7JzAfdGT.end\" dur=\"0.2s\" values=\"13;1\"/></rect><rect width=\"10\" height=\"10\" x=\"13\" y=\"13\" fill=\"currentColor\" rx=\"1\"><animate id=\"SVGFpk9ncYc\" fill=\"freeze\" attributeName=\"x\" begin=\"SVGUiS2jeZq.end\" dur=\"0.2s\" values=\"13;1\"/><animate id=\"SVGaI8owdNK\" fill=\"freeze\" attributeName=\"y\" begin=\"SVGU0vu2GEM.end\" dur=\"0.2s\" values=\"13;1\"/><animate id=\"SVG28A4To9L\" fill=\"freeze\" attributeName=\"x\" begin=\"SVGOIboFeLf.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGo3aOUHlJ\" fill=\"freeze\" attributeName=\"y\" begin=\"SVG14lAaeuv.end\" dur=\"0.2s\" values=\"1;13\"/></rect></svg>',\n \"blocks-shuffle-2\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>blocks-shuffle-2</title><rect width=\"10\" height=\"10\" x=\"1\" y=\"1\" fill=\"currentColor\" rx=\"1\"><animate id=\"SVG7JagGz2Y\" fill=\"freeze\" attributeName=\"x\" begin=\"0;SVGgDT19bUV.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGpS1BddYk\" fill=\"freeze\" attributeName=\"y\" begin=\"SVGc7yq8dne.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGboa7EdFl\" fill=\"freeze\" attributeName=\"x\" begin=\"SVG0ZX9C6Fa.end\" dur=\"0.2s\" values=\"13;1\"/><animate id=\"SVG6rrusL2C\" fill=\"freeze\" attributeName=\"y\" begin=\"SVGTOnnO5Dr.end\" dur=\"0.2s\" values=\"13;1\"/></rect><rect width=\"10\" height=\"10\" x=\"1\" y=\"13\" fill=\"currentColor\" rx=\"1\"><animate id=\"SVGc7yq8dne\" fill=\"freeze\" attributeName=\"y\" begin=\"SVG7JagGz2Y.end\" dur=\"0.2s\" values=\"13;1\"/><animate id=\"SVG0ZX9C6Fa\" fill=\"freeze\" attributeName=\"x\" begin=\"SVGpS1BddYk.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGTOnnO5Dr\" fill=\"freeze\" attributeName=\"y\" begin=\"SVGboa7EdFl.end\" dur=\"0.2s\" values=\"1;13\"/><animate id=\"SVGgDT19bUV\" fill=\"freeze\" attributeName=\"x\" begin=\"SVG6rrusL2C.end\" dur=\"0.2s\" values=\"13;1\"/></rect></svg>',\n \"blocks-scale\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>blocks-scale</title><rect width=\"9\" height=\"9\" x=\"1.5\" y=\"1.5\" fill=\"currentColor\" rx=\"1\"><animate id=\"SVGvBHXGeBR\" attributeName=\"x\" begin=\"0;SVGBBjjneux.end+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"1.5;.5;1.5\"/><animate attributeName=\"y\" begin=\"0;SVGBBjjneux.end+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"1.5;.5;1.5\"/><animate attributeName=\"width\" begin=\"0;SVGBBjjneux.end+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/><animate attributeName=\"height\" begin=\"0;SVGBBjjneux.end+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/></rect><rect width=\"9\" height=\"9\" x=\"13.5\" y=\"1.5\" fill=\"currentColor\" rx=\"1\"><animate attributeName=\"x\" begin=\"SVGvBHXGeBR.begin+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"13.5;12.5;13.5\"/><animate attributeName=\"y\" begin=\"SVGvBHXGeBR.begin+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"1.5;.5;1.5\"/><animate attributeName=\"width\" begin=\"SVGvBHXGeBR.begin+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/><animate attributeName=\"height\" begin=\"SVGvBHXGeBR.begin+0.15s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/></rect><rect width=\"9\" height=\"9\" x=\"13.5\" y=\"13.5\" fill=\"currentColor\" rx=\"1\"><animate attributeName=\"x\" begin=\"SVGvBHXGeBR.begin+0.3s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"13.5;12.5;13.5\"/><animate attributeName=\"y\" begin=\"SVGvBHXGeBR.begin+0.3s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"13.5;12.5;13.5\"/><animate attributeName=\"width\" begin=\"SVGvBHXGeBR.begin+0.3s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/><animate attributeName=\"height\" begin=\"SVGvBHXGeBR.begin+0.3s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/></rect><rect width=\"9\" height=\"9\" x=\"1.5\" y=\"13.5\" fill=\"currentColor\" rx=\"1\"><animate id=\"SVGBBjjneux\" attributeName=\"x\" begin=\"SVGvBHXGeBR.begin+0.45s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"1.5;.5;1.5\"/><animate attributeName=\"y\" begin=\"SVGvBHXGeBR.begin+0.45s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"13.5;12.5;13.5\"/><animate attributeName=\"width\" begin=\"SVGvBHXGeBR.begin+0.45s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/><animate attributeName=\"height\" begin=\"SVGvBHXGeBR.begin+0.45s\" dur=\"0.6s\" keyTimes=\"0;.2;1\" values=\"9;11;9\"/></rect></svg>',\n \"bars-scale-middle\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>bars-scale-middle</title><rect width=\"2.8\" height=\"12\" x=\"1\" y=\"6\" fill=\"currentColor\"><animate attributeName=\"y\" begin=\"SVGKWB9Ob0W.begin+0.4s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGKWB9Ob0W.begin+0.4s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"5.8\" y=\"6\" fill=\"currentColor\"><animate attributeName=\"y\" begin=\"SVGKWB9Ob0W.begin+0.2s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGKWB9Ob0W.begin+0.2s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"10.6\" y=\"6\" fill=\"currentColor\"><animate id=\"SVGKWB9Ob0W\" attributeName=\"y\" begin=\"0;SVGCkSt6baQ.end-0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"0;SVGCkSt6baQ.end-0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"15.4\" y=\"6\" fill=\"currentColor\"><animate attributeName=\"y\" begin=\"SVGKWB9Ob0W.begin+0.2s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGKWB9Ob0W.begin+0.2s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"20.2\" y=\"6\" fill=\"currentColor\"><animate id=\"SVGCkSt6baQ\" attributeName=\"y\" begin=\"SVGKWB9Ob0W.begin+0.4s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGKWB9Ob0W.begin+0.4s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".14,.73,.34,1;.65,.26,.82,.45\" values=\"12;22;12\"/></rect></svg>',\n \"bars-scale-fade\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>bars-scale-fade</title><rect width=\"6\" height=\"14\" x=\"1\" y=\"4\" fill=\"currentColor\"><animate id=\"SVGBoZ3Ab9F\" fill=\"freeze\" attributeName=\"y\" begin=\"0;SVG0XJl4OCs.end-0.25s\" dur=\"0.75s\" values=\"1;5\"/><animate fill=\"freeze\" attributeName=\"height\" begin=\"0;SVG0XJl4OCs.end-0.25s\" dur=\"0.75s\" values=\"22;14\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVG0XJl4OCs.end-0.25s\" dur=\"0.75s\" values=\"1;.2\"/></rect><rect width=\"6\" height=\"14\" x=\"9\" y=\"4\" fill=\"currentColor\" opacity=\".4\"><animate fill=\"freeze\" attributeName=\"y\" begin=\"SVGBoZ3Ab9F.begin+0.15s\" dur=\"0.75s\" values=\"1;5\"/><animate fill=\"freeze\" attributeName=\"height\" begin=\"SVGBoZ3Ab9F.begin+0.15s\" dur=\"0.75s\" values=\"22;14\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGBoZ3Ab9F.begin+0.15s\" dur=\"0.75s\" values=\"1;.2\"/></rect><rect width=\"6\" height=\"14\" x=\"17\" y=\"4\" fill=\"currentColor\" opacity=\".3\"><animate id=\"SVG0XJl4OCs\" fill=\"freeze\" attributeName=\"y\" begin=\"SVGBoZ3Ab9F.begin+0.3s\" dur=\"0.75s\" values=\"1;5\"/><animate fill=\"freeze\" attributeName=\"height\" begin=\"SVGBoZ3Ab9F.begin+0.3s\" dur=\"0.75s\" values=\"22;14\"/><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVGBoZ3Ab9F.begin+0.3s\" dur=\"0.75s\" values=\"1;.2\"/></rect></svg>',\n \"bars-scale\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>bars-scale</title><rect width=\"2.8\" height=\"12\" x=\"1\" y=\"6\" fill=\"currentColor\"><animate id=\"SVGLQdHQe4p\" attributeName=\"y\" begin=\"0;SVGg3vsIeGm.end-0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"0;SVGg3vsIeGm.end-0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"5.8\" y=\"6\" fill=\"currentColor\"><animate attributeName=\"y\" begin=\"SVGLQdHQe4p.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGLQdHQe4p.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"10.6\" y=\"6\" fill=\"currentColor\"><animate attributeName=\"y\" begin=\"SVGLQdHQe4p.begin+0.2s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGLQdHQe4p.begin+0.2s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"15.4\" y=\"6\" fill=\"currentColor\"><animate attributeName=\"y\" begin=\"SVGLQdHQe4p.begin+0.3s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGLQdHQe4p.begin+0.3s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"12;22;12\"/></rect><rect width=\"2.8\" height=\"12\" x=\"20.2\" y=\"6\" fill=\"currentColor\"><animate id=\"SVGg3vsIeGm\" attributeName=\"y\" begin=\"SVGLQdHQe4p.begin+0.4s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"6;1;6\"/><animate attributeName=\"height\" begin=\"SVGLQdHQe4p.begin+0.4s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".36,.61,.3,.98;.36,.61,.3,.98\" values=\"12;22;12\"/></rect></svg>',\n \"bars-rotate-fade\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>bars-rotate-fade</title><g><rect width=\"2\" height=\"5\" x=\"11\" y=\"1\" fill=\"currentColor\" opacity=\".14\"/><rect width=\"2\" height=\"5\" x=\"11\" y=\"1\" fill=\"currentColor\" opacity=\".29\" transform=\"rotate(30 12 12)\"/><rect width=\"2\" height=\"5\" x=\"11\" y=\"1\" fill=\"currentColor\" opacity=\".43\" transform=\"rotate(60 12 12)\"/><rect width=\"2\" height=\"5\" x=\"11\" y=\"1\" fill=\"currentColor\" opacity=\".57\" transform=\"rotate(90 12 12)\"/><rect width=\"2\" height=\"5\" x=\"11\" y=\"1\" fill=\"currentColor\" opacity=\".71\" transform=\"rotate(120 12 12)\"/><rect width=\"2\" height=\"5\" x=\"11\" y=\"1\" fill=\"currentColor\" opacity=\".86\" transform=\"rotate(150 12 12)\"/><rect width=\"2\" height=\"5\" x=\"11\" y=\"1\" fill=\"currentColor\" transform=\"rotate(180 12 12)\"/><animateTransform attributeName=\"transform\" calcMode=\"discrete\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12\"/></g></svg>',\n \"bars-fade\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>bars-fade</title><rect width=\"6\" height=\"14\" x=\"1\" y=\"4\" fill=\"currentColor\"><animate id=\"SVG9ovaHbIP\" fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGa89dAd4w.end-0.25s\" dur=\"0.75s\" values=\"1;.2\"/></rect><rect width=\"6\" height=\"14\" x=\"9\" y=\"4\" fill=\"currentColor\" opacity=\".4\"><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG9ovaHbIP.begin+0.15s\" dur=\"0.75s\" values=\"1;.2\"/></rect><rect width=\"6\" height=\"14\" x=\"17\" y=\"4\" fill=\"currentColor\" opacity=\".3\"><animate id=\"SVGa89dAd4w\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG9ovaHbIP.begin+0.3s\" dur=\"0.75s\" values=\"1;.2\"/></rect></svg>',\n \"90-ring-with-bg\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>90-ring-with-bg</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\" opacity=\".25\"/><path fill=\"currentColor\" d=\"M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"90-ring\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>90-ring</title><path fill=\"currentColor\" d=\"M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"8-dots-rotate\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>8-dots-rotate</title><g><circle cx=\"3\" cy=\"12\" r=\"2\" fill=\"currentColor\"/><circle cx=\"21\" cy=\"12\" r=\"2\" fill=\"currentColor\"/><circle cx=\"12\" cy=\"21\" r=\"2\" fill=\"currentColor\"/><circle cx=\"12\" cy=\"3\" r=\"2\" fill=\"currentColor\"/><circle cx=\"5.64\" cy=\"5.64\" r=\"2\" fill=\"currentColor\"/><circle cx=\"18.36\" cy=\"18.36\" r=\"2\" fill=\"currentColor\"/><circle cx=\"5.64\" cy=\"18.36\" r=\"2\" fill=\"currentColor\"/><circle cx=\"18.36\" cy=\"5.64\" r=\"2\" fill=\"currentColor\"/><animateTransform attributeName=\"transform\" dur=\"1.5s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></g></svg>',\n \"6-dots-scale-middle\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>6-dots-scale-middle</title><circle cx=\"12\" cy=\"3\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGoB2HzdBp\" attributeName=\"r\" begin=\"0;SVGhp5IKccd.end-0.5s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"16.5\" cy=\"4.21\" r=\"0\" fill=\"currentColor\"><animate id=\"SVG13I3L3Mo\" attributeName=\"r\" begin=\"SVGoB2HzdBp.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"7.5\" cy=\"4.21\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGhp5IKccd\" attributeName=\"r\" begin=\"SVGZh5n6c6U.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"19.79\" cy=\"7.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGwdpSnbWm\" attributeName=\"r\" begin=\"SVG13I3L3Mo.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"4.21\" cy=\"7.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGZh5n6c6U\" attributeName=\"r\" begin=\"SVGZlbpteod.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"21\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGtZjtgdeT\" attributeName=\"r\" begin=\"SVGwdpSnbWm.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"3\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGZlbpteod\" attributeName=\"r\" begin=\"SVGwTNtvelU.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"19.79\" cy=\"16.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGtoLBIbcZ\" attributeName=\"r\" begin=\"SVGtZjtgdeT.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"4.21\" cy=\"16.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGwTNtvelU\" attributeName=\"r\" begin=\"SVGk1PzexJH.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"16.5\" cy=\"19.79\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGoTyDPewd\" attributeName=\"r\" begin=\"SVGtoLBIbcZ.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"7.5\" cy=\"19.79\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGk1PzexJH\" attributeName=\"r\" begin=\"SVG0DUTaeRN.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle><circle cx=\"12\" cy=\"21\" r=\"0\" fill=\"currentColor\"><animate id=\"SVG0DUTaeRN\" attributeName=\"r\" begin=\"SVGoTyDPewd.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"0;2;0\"/></circle></svg>',\n \"6-dots-scale\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>6-dots-scale</title><circle cx=\"12\" cy=\"3\" r=\"0\" fill=\"currentColor\"><animate id=\"SVG4G6AvsmK\" fill=\"freeze\" attributeName=\"r\" begin=\"0;SVGvWIhNcAr.end-0.5s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"16.5\" cy=\"4.21\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGeE4wqdhI\" fill=\"freeze\" attributeName=\"r\" begin=\"SVG4G6AvsmK.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"7.5\" cy=\"4.21\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGvWIhNcAr\" fill=\"freeze\" attributeName=\"r\" begin=\"SVG7bFLwcpj.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"19.79\" cy=\"7.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGEevPNd9f\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGeE4wqdhI.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"4.21\" cy=\"7.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVG7bFLwcpj\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGQTNUCd1M.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"21\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGuBK1DdeV\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGEevPNd9f.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"3\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGQTNUCd1M\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGGpgq51kq.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"19.79\" cy=\"16.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVG0SGXodLb\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGuBK1DdeV.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"4.21\" cy=\"16.5\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGGpgq51kq\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGlDB0aenh.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"16.5\" cy=\"19.79\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGjNSy9c1D\" fill=\"freeze\" attributeName=\"r\" begin=\"SVG0SGXodLb.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"7.5\" cy=\"19.79\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGlDB0aenh\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGq7gqkb6a.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle><circle cx=\"12\" cy=\"21\" r=\"0\" fill=\"currentColor\"><animate id=\"SVGq7gqkb6a\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGjNSy9c1D.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\"0,1,0,1;.53,0,.61,.73\" keyTimes=\"0;.2;1\" values=\"0;2;0\"/></circle></svg>',\n \"6-dots-rotate\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>6-dots-rotate</title><g><circle cx=\"12\" cy=\"2.5\" r=\"1.5\" fill=\"currentColor\" opacity=\".14\"/><circle cx=\"16.75\" cy=\"3.77\" r=\"1.5\" fill=\"currentColor\" opacity=\".29\"/><circle cx=\"20.23\" cy=\"7.25\" r=\"1.5\" fill=\"currentColor\" opacity=\".43\"/><circle cx=\"21.5\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" opacity=\".57\"/><circle cx=\"20.23\" cy=\"16.75\" r=\"1.5\" fill=\"currentColor\" opacity=\".71\"/><circle cx=\"16.75\" cy=\"20.23\" r=\"1.5\" fill=\"currentColor\" opacity=\".86\"/><circle cx=\"12\" cy=\"21.5\" r=\"1.5\" fill=\"currentColor\"/><animateTransform attributeName=\"transform\" calcMode=\"discrete\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12\"/></g></svg>',\n \"3-dots-scale-middle\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>3-dots-scale-middle</title><circle cx=\"4\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"><animate attributeName=\"r\" dur=\"0.75s\" repeatCount=\"indefinite\" values=\"1.5;3;1.5\"/></circle><circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate attributeName=\"r\" dur=\"0.75s\" repeatCount=\"indefinite\" values=\"3;1.5;3\"/></circle><circle cx=\"20\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"><animate attributeName=\"r\" dur=\"0.75s\" repeatCount=\"indefinite\" values=\"1.5;3;1.5\"/></circle></svg>',\n \"3-dots-scale\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>3-dots-scale</title><circle cx=\"4\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate id=\"SVG9IgbRbsl\" attributeName=\"r\" begin=\"0;SVGFUNpCWdG.end-0.25s\" dur=\"0.75s\" values=\"3;.2;3\"/></circle><circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate attributeName=\"r\" begin=\"SVG9IgbRbsl.end-0.6s\" dur=\"0.75s\" values=\"3;.2;3\"/></circle><circle cx=\"20\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate id=\"SVGFUNpCWdG\" attributeName=\"r\" begin=\"SVG9IgbRbsl.end-0.45s\" dur=\"0.75s\" values=\"3;.2;3\"/></circle></svg>',\n \"3-dots-rotate\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>3-dots-rotate</title><circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\"/><g><circle cx=\"4\" cy=\"12\" r=\"3\" fill=\"currentColor\"/><circle cx=\"20\" cy=\"12\" r=\"3\" fill=\"currentColor\"/><animateTransform attributeName=\"transform\" calcMode=\"spline\" dur=\"1s\" keySplines=\".36,.6,.31,1;.36,.6,.31,1\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;180 12 12;360 12 12\"/></g></svg>',\n \"3-dots-move\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>3-dots-move</title><circle cx=\"4\" cy=\"12\" r=\"0\" fill=\"currentColor\"><animate fill=\"freeze\" attributeName=\"r\" begin=\"0;SVGUppsBdVN.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"0;3\"/><animate fill=\"freeze\" attributeName=\"cx\" begin=\"SVGqCgsydxJ.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"4;12\"/><animate fill=\"freeze\" attributeName=\"cx\" begin=\"SVG3PwDNd6F.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"12;20\"/><animate id=\"SVG3V8yEdYE\" fill=\"freeze\" attributeName=\"r\" begin=\"SVG6wCQhd9Q.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"3;0\"/><animate id=\"SVGUppsBdVN\" fill=\"freeze\" attributeName=\"cx\" begin=\"SVG3V8yEdYE.end\" dur=\"0.001s\" values=\"20;4\"/></circle><circle cx=\"4\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate fill=\"freeze\" attributeName=\"cx\" begin=\"0;SVGUppsBdVN.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"4;12\"/><animate fill=\"freeze\" attributeName=\"cx\" begin=\"SVGqCgsydxJ.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"12;20\"/><animate id=\"SVG4PgJdbds\" fill=\"freeze\" attributeName=\"r\" begin=\"SVG3PwDNd6F.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"3;0\"/><animate id=\"SVG6wCQhd9Q\" fill=\"freeze\" attributeName=\"cx\" begin=\"SVG4PgJdbds.end\" dur=\"0.001s\" values=\"20;4\"/><animate fill=\"freeze\" attributeName=\"r\" begin=\"SVG6wCQhd9Q.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"0;3\"/></circle><circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate fill=\"freeze\" attributeName=\"cx\" begin=\"0;SVGUppsBdVN.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"12;20\"/><animate id=\"SVG38aCdcdI\" fill=\"freeze\" attributeName=\"r\" begin=\"SVGqCgsydxJ.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"3;0\"/><animate id=\"SVG3PwDNd6F\" fill=\"freeze\" attributeName=\"cx\" begin=\"SVG38aCdcdI.end\" dur=\"0.001s\" values=\"20;4\"/><animate fill=\"freeze\" attributeName=\"r\" begin=\"SVG3PwDNd6F.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"0;3\"/><animate fill=\"freeze\" attributeName=\"cx\" begin=\"SVG6wCQhd9Q.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"4;12\"/></circle><circle cx=\"20\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate id=\"SVGwaWzveSq\" fill=\"freeze\" attributeName=\"r\" begin=\"0;SVGUppsBdVN.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"3;0\"/><animate id=\"SVGqCgsydxJ\" fill=\"freeze\" attributeName=\"cx\" begin=\"SVGwaWzveSq.end\" dur=\"0.001s\" values=\"20;4\"/><animate fill=\"freeze\" attributeName=\"r\" begin=\"SVGqCgsydxJ.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"0;3\"/><animate fill=\"freeze\" attributeName=\"cx\" begin=\"SVG3PwDNd6F.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"4;12\"/><animate fill=\"freeze\" attributeName=\"cx\" begin=\"SVG6wCQhd9Q.end\" calcMode=\"spline\" dur=\"0.5s\" keySplines=\".36,.6,.31,1\" values=\"12;20\"/></circle></svg>',\n \"3-dots-fade\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>3-dots-fade</title><circle cx=\"4\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate id=\"SVG7x14Dcom\" fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGqSjG0dUp.end-0.25s\" dur=\"0.75s\" values=\"1;.2\"/></circle><circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\" opacity=\".4\"><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG7x14Dcom.begin+0.15s\" dur=\"0.75s\" values=\"1;.2\"/></circle><circle cx=\"20\" cy=\"12\" r=\"3\" fill=\"currentColor\" opacity=\".3\"><animate id=\"SVGqSjG0dUp\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG7x14Dcom.begin+0.3s\" dur=\"0.75s\" values=\"1;.2\"/></circle></svg>',\n \"3-dots-bounce\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>3-dots-bounce</title><circle cx=\"4\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate id=\"SVGKiXXedfO\" attributeName=\"cy\" begin=\"0;SVGgLulOGrw.end+0.25s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".33,.66,.66,1;.33,0,.66,.33\" values=\"12;6;12\"/></circle><circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate attributeName=\"cy\" begin=\"SVGKiXXedfO.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".33,.66,.66,1;.33,0,.66,.33\" values=\"12;6;12\"/></circle><circle cx=\"20\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate id=\"SVGgLulOGrw\" attributeName=\"cy\" begin=\"SVGKiXXedfO.begin+0.2s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".33,.66,.66,1;.33,0,.66,.33\" values=\"12;6;12\"/></circle></svg>',\n \"270-ring-with-bg\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>270-ring-with-bg</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\" opacity=\".25\"/><path fill=\"currentColor\" d=\"M10.72,19.9a8,8,0,0,1-6.5-9.79A7.77,7.77,0,0,1,10.4,4.16a8,8,0,0,1,9.49,6.52A1.54,1.54,0,0,0,21.38,12h.13a1.37,1.37,0,0,0,1.38-1.54,11,11,0,1,0-12.7,12.39A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,10.72,19.9Z\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"270-ring\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>270-ring</title><path fill=\"currentColor\" d=\"M10.72,19.9a8,8,0,0,1-6.5-9.79A7.77,7.77,0,0,1,10.4,4.16a8,8,0,0,1,9.49,6.52A1.54,1.54,0,0,0,21.38,12h.13a1.37,1.37,0,0,0,1.38-1.54,11,11,0,1,0-12.7,12.39A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,10.72,19.9Z\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"180-ring-with-bg\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>180-ring-with-bg</title><path fill=\"currentColor\" d=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\" opacity=\".25\"/><path fill=\"currentColor\" d=\"M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"180-ring\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>180-ring</title><path fill=\"currentColor\" d=\"M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z\"><animateTransform attributeName=\"transform\" dur=\"0.75s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"0 12 12;360 12 12\"/></path></svg>',\n \"12-dots-scale-rotate\": '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><title>12-dots-scale-rotate</title><g><circle cx=\"12\" cy=\"3\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGelgoqhuA\" attributeName=\"r\" begin=\"0;SVGSRzJybSJ.end-0.5s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"16.5\" cy=\"4.21\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGBcQu6cCi\" attributeName=\"r\" begin=\"SVGelgoqhuA.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"7.5\" cy=\"4.21\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGSRzJybSJ\" attributeName=\"r\" begin=\"SVGeZGzNdVZ.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"19.79\" cy=\"7.5\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGG5Q0fe0M\" attributeName=\"r\" begin=\"SVGBcQu6cCi.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"4.21\" cy=\"7.5\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGeZGzNdVZ\" attributeName=\"r\" begin=\"SVGUTnihcal.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"21\" cy=\"12\" r=\"1\" fill=\"currentColor\"><animate id=\"SVG8aQG8dpc\" attributeName=\"r\" begin=\"SVGG5Q0fe0M.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"3\" cy=\"12\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGUTnihcal\" attributeName=\"r\" begin=\"SVGHktsvT5Q.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"19.79\" cy=\"16.5\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGqCF3Scrd\" attributeName=\"r\" begin=\"SVG8aQG8dpc.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"4.21\" cy=\"16.5\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGHktsvT5Q\" attributeName=\"r\" begin=\"SVGSFNCBbxb.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"16.5\" cy=\"19.79\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGMFYo1cJN\" attributeName=\"r\" begin=\"SVGqCF3Scrd.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"7.5\" cy=\"19.79\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGSFNCBbxb\" attributeName=\"r\" begin=\"SVGLSoLpdOI.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><circle cx=\"12\" cy=\"21\" r=\"1\" fill=\"currentColor\"><animate id=\"SVGLSoLpdOI\" attributeName=\"r\" begin=\"SVGMFYo1cJN.begin+0.1s\" calcMode=\"spline\" dur=\"0.6s\" keySplines=\".27,.42,.37,.99;.53,0,.61,.73\" values=\"1;2;1\"/></circle><animateTransform attributeName=\"transform\" dur=\"6s\" repeatCount=\"indefinite\" type=\"rotate\" values=\"360 12 12;0 12 12\"/></g></svg>'\n}\nexport type LoaderIcons = keyof typeof loaderSeed;\n","export const iconSeed: Record<string, string> = {\n \"search\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\"/></svg>',\n \"menu\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z\"/></svg>',\n \"check\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path xmlns=\"http://www.w3.org/2000/svg\" d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\"/></svg>',\n \"expand_more\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M480-360 280-560h400L480-360Z\"/></svg>',\n \"arrow_left\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\" ><path d=\"M400-80 0-480l400-400 71 71-329 329 329 329-71 71Z\" /></svg>',\n \"arrow_right\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\" ><path d=\"m321-80-71-71 329-329-329-329 71-71 400 400L321-80Z\" /></svg>',\n \"double_arrow_left\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M440-240 200-480l240-240 56 56-183 184 183 184-56 56Zm264 0L464-480l240-240 56 56-183 184 183 184-56 56Z\"/></svg>',\n \"double_arrow_right\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M383-480 200-664l56-56 240 240-240 240-56-56 183-184Zm264 0L464-664l56-56 240 240-240 240-56-56 183-184Z\"/></svg>',\n \"close\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\"/></svg>',\n \"chevron_left\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z\"/></svg>',\n \"chevron_right\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z\"/></svg>',\n \"calendar_today\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Z\"/></svg>',\n \"schedule\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\"/></svg>',\n \"payments\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M560-440q-50 0-85-35t-35-85q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35ZM200-320q-33 0-56.5-23.5T120-400v-320q0-33 23.5-56.5T200-800h720v400q0 33-23.5 56.5T840-320H200Zm0-80h640v-320H200v320Zm-80 240q-33 0-56.5-23.5T40-240v-400h80v400h640v80H120Z\"/></svg>',\n \"copy\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z\"/></svg>',\n \"code\": '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\"><path d=\"M320-240 80-480l240-240 57 57-184 183 184 183-57 57Zm320 0-57-57 184-183-184-183 57-57 240 240-240 240Z\"/></svg>',\n}\n\n\n","import { Injectable, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { loaderSeed } from '../../../utils/loader-icon-seed';\nimport { iconSeed } from '../../../utils/icons-seed';\n\nexport interface AvRegisteredIcon {\n name: string;\n svg: SafeHtml;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AvIconRegistry {\n private sanitizer = inject(DomSanitizer);\n private registry = new Map<string, SafeHtml>();\n\n\n constructor() {\n this.registerIcons(loaderSeed);\n this.registerIcons(iconSeed);\n }\n\n /** Registra um único ícone/loader SVG */\n registerIcon(name: string, svgContent: string): void {\n const normalizedSvg = this.normalizeSvg(svgContent);\n const safeSvg = this.sanitizer.bypassSecurityTrustHtml(normalizedSvg);\n this.registry.set(name, safeSvg);\n }\n\n /** Registra vários ícones de uma vez */\n registerIcons(icons: Record<string, string>): void {\n Object.entries(icons).forEach(([name, svg]) => this.registerIcon(name, svg));\n }\n\n /** Retorna o SVG registrado como conteúdo confiável */\n getIcon(name: string): SafeHtml | undefined {\n return this.registry.get(name);\n }\n\n /** Retorna os nomes de todos os ícones registrados */\n getIconNames(): string[] {\n return Array.from(this.registry.keys()).sort((a, b) => a.localeCompare(b));\n }\n\n /** Retorna todos os ícones registrados, útil para catálogos e icon pickers */\n getIcons(): AvRegisteredIcon[] {\n return this.getIconNames().map((name) => ({\n name,\n svg: this.registry.get(name)!,\n }));\n }\n\n private normalizeSvg(svgContent: string): string {\n const normalizedSvg = svgContent.trim();\n\n if (!/^<svg(?:\\s|>)/i.test(normalizedSvg)) {\n throw new Error('An icon must be registered as an SVG element.');\n }\n\n return normalizedSvg;\n }\n}\n","import { Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AvIconRegistry } from '../../../core/services/IconRegistry.service';\n\ntype AvIconSize = 'xs' | 'sm' | 'base' | 'md' | 'lg' | 'xl' | number;\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'span[av-icon], i[av-icon]',\n templateUrl: './av-icon.component.html',\n styleUrls: ['./av-icon.component.css'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvIcon {\n /** Nome do ícone (ex: 'search', 'user', 'settings') */\n name = input.required<string>();\n\n /** Tamanho em relação ao font-size herdado ou em pixels. */\n size = input<AvIconSize>('base');\n\n constructor(\n public iconRegistry: AvIconRegistry\n ) { }\n\n get sizeClass(): string {\n const size = this.size();\n\n return typeof size === 'number' ? 'av-icon--custom' : `av-icon--${size}`;\n }\n\n @HostBinding('class')\n get elementClasses(): string {\n return `av-icon ${this.sizeClass}`;\n }\n\n @HostBinding('style.font-size')\n get fontSize(): string | null {\n const size = this.size();\n\n return typeof size === 'number' ? `${size}px` : null;\n }\n}\n","<span\n class=\"av-icon__glyph\"\n [ngClass]=\"sizeClass\"\n [innerHTML]=\"iconRegistry.getIcon(name())\"\n></span>\n","import { InjectionToken, Provider, makeEnvironmentProviders, EnvironmentProviders } from '@angular/core';\nimport { VisualsConfig } from '../../../types/theme';\n\nexport const VISUALS_CONFIG = new InjectionToken<VisualsConfig>('VISUALS_CONFIG');\n\nexport function provideAngularVisuals(config: VisualsConfig): EnvironmentProviders {\n const providers: Provider[] = [\n {\n provide: VISUALS_CONFIG,\n useValue: config\n },\n ];\n return makeEnvironmentProviders(providers);\n}\n","import { Injectable, computed, effect, inject, signal } from '@angular/core';\nimport { VISUALS_CONFIG } from '../tokens';\nimport { AvThemeMode } from '../../../types/theme';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThemeService {\n private config = inject(VISUALS_CONFIG);\n private readonly colorIntensities = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const;\n\n readonly mode = signal<AvThemeMode>(this.config.theme.mode);\n readonly systemDark = signal(false);\n\n readonly dark = computed(() => {\n const mode = this.mode();\n\n if (mode === 'dark') return true;\n if (mode === 'light') return false;\n\n return this.systemDark();\n });\n\n constructor() {\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n\n this.systemDark.set(media.matches);\n this.setPrimaryColorVariables();\n\n media.addEventListener('change', event => {\n this.systemDark.set(event.matches);\n });\n\n effect(() => {\n const isDark = this.dark();\n const root = document.documentElement;\n\n if (isDark) {\n root.setAttribute('data-av-theme', 'dark');\n } else {\n root.setAttribute('data-av-theme', 'light');\n }\n });\n }\n\n setMode(mode: AvThemeMode) {\n this.mode.set(mode);\n }\n\n private setPrimaryColorVariables(): void {\n const root = document.documentElement;\n const variant = this.config.theme.defaultVariant;\n\n for (const intensity of this.colorIntensities) {\n root.style.setProperty(`--av-primary-${intensity}`, `var(--av-${variant}-${intensity})`);\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, booleanAttribute, computed, effect, inject, input, output, signal } from '@angular/core';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\n\n@Component({\n imports: [CommonModule, AvIcon],\n selector: 'av-dropdown',\n styleUrl: './av-dropdown.component.css',\n templateUrl: './av-dropdown.component.html',\n})\nexport class AvDropdown {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n badge = input<string | number | null>(null);\n disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n expanded = input<boolean | undefined, unknown>(undefined, {\n transform: (value: unknown) => value === undefined ? undefined : booleanAttribute(value),\n });\n icon = input<string>('');\n label = input<string>('');\n variant = input<string>(this.config.theme.defaultVariant);\n\n expandedChange = output<boolean>();\n\n private readonly internalExpanded = signal<boolean>(false);\n\n readonly panelId = `av-dropdown-${Math.random().toString(36).slice(2, 9)}`;\n readonly isExpanded = computed<boolean>(() => this.expanded() ?? this.internalExpanded());\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-dropdown-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-dropdown-accent-hover': `var(--av-${variant}-${isDark ? 300 : 700})`,\n '--av-dropdown-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 16%, transparent)`\n : `var(--av-${variant}-50)`,\n '--av-dropdown-text': 'var(--av-color-text-muted)',\n '--av-dropdown-text-active': isDark ? `var(--av-${variant}-100)` : `var(--av-${variant}-800)`,\n };\n });\n\n constructor() {\n effect(() => {\n const controlledExpanded = this.expanded();\n\n if (controlledExpanded !== undefined) {\n this.internalExpanded.set(controlledExpanded);\n }\n });\n }\n\n toggle(): void {\n if (this.disabled()) return;\n\n const next = !this.isExpanded();\n this.internalExpanded.set(next);\n this.expandedChange.emit(next);\n }\n}\n","<div class=\"av-dropdown\" [ngStyle]=\"themeVars()\">\n <button\n type=\"button\"\n class=\"av-dropdown__trigger\"\n [class.av-dropdown__trigger--active]=\"isExpanded()\"\n [disabled]=\"disabled()\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-expanded]=\"isExpanded()\"\n (click)=\"toggle()\"\n >\n @if (icon()) {\n <span class=\"av-dropdown__icon\" av-icon [name]=\"icon()\" size=\"md\"></span>\n }\n\n <span class=\"av-dropdown__label\">\n @if (label()) {\n {{ label() }}\n } @else {\n <ng-content select=\"[av-dropdown-label]\"></ng-content>\n }\n </span>\n\n @if (badge() !== null && badge() !== undefined) {\n <span class=\"av-dropdown__badge\">{{ badge() }}</span>\n }\n\n <span\n class=\"av-dropdown__chevron\"\n av-icon\n name=\"expand_more\"\n size=\"md\"\n [class.av-dropdown__chevron--open]=\"isExpanded()\"\n ></span>\n </button>\n\n <div\n class=\"av-dropdown__panel\"\n [id]=\"panelId\"\n [class.av-dropdown__panel--open]=\"isExpanded()\"\n [attr.aria-hidden]=\"!isExpanded()\"\n [attr.inert]=\"isExpanded() ? null : ''\"\n >\n <div class=\"av-dropdown__panel-inner\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, booleanAttribute, computed, inject, input, output } from '@angular/core';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\n\n@Component({\n imports: [CommonModule, AvIcon, RouterLink, RouterLinkActive],\n selector: 'av-nav-link',\n styleUrl: './av-nav-link.component.css',\n templateUrl: './av-nav-link.component.html',\n})\nexport class AvNavLink {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n private readonly themeService = inject(ThemeService);\n\n active = input<boolean, unknown>(false, { transform: booleanAttribute });\n badge = input<string | number | null>(null);\n description = input<string>('');\n disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n href = input<string>('');\n // route can be string or link params array\n route = input<string | any[] | null>(null);\n icon = input<string>('');\n label = input<string>('');\n rel = input<string>('');\n target = input<string>('');\n variant = input<string>(this.config.theme.defaultVariant);\n // class to apply when routerLink is active\n routerActiveClass = input<string>('active');\n // routerLinkActive options (defaults to exact match)\n routerActiveOptions = input<Record<string, boolean>>({ exact: true });\n\n selected = output<Event>();\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-nav-link-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-nav-link-accent-hover': `var(--av-${variant}-${isDark ? 300 : 700})`,\n '--av-nav-link-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 16%, transparent)`\n : `var(--av-${variant}-50)`,\n '--av-nav-link-text': 'var(--av-color-text-muted)',\n '--av-nav-link-text-active': isDark ? `var(--av-${variant}-100)` : `var(--av-${variant}-800)`,\n };\n });\n\n readonly relValue = computed<string | null>(() => {\n if (this.rel()) return this.rel();\n\n return this.target() === '_blank' ? 'noopener noreferrer' : null;\n });\n\n readonly isExternal = computed<boolean>(() => {\n const h = this.href();\n if (!h) return false;\n return /^(https?:)?\\/\\//.test(h);\n });\n\n handleClick(event: Event): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.selected.emit(event);\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent('av-nav-link-select', {\n bubbles: true,\n composed: true,\n detail: { source: this },\n })\n );\n }\n}\n","@if (!disabled() && (route() || (href() && !isExternal()))) {\n <a\n class=\"av-nav-link\"\n [ngStyle]=\"themeVars()\"\n [class.av-nav-link--active]=\"active()\"\n [attr.aria-current]=\"active() ? 'page' : null\"\n [routerLink]=\"route() ? route() : href()\"\n [routerLinkActive]=\"routerActiveClass()\"\n [routerLinkActiveOptions]=\"routerActiveOptions()\"\n [attr.rel]=\"relValue()\"\n [attr.target]=\"target() || null\"\n (click)=\"handleClick($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </a>\n} @else {\n @if (href() && !disabled()) {\n <a\n class=\"av-nav-link\"\n [ngStyle]=\"themeVars()\"\n [class.av-nav-link--active]=\"active()\"\n [attr.aria-current]=\"active() ? 'page' : null\"\n [attr.href]=\"href()\"\n [attr.rel]=\"relValue()\"\n [attr.target]=\"target() || null\"\n (click)=\"handleClick($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </a>\n } @else {\n <button\n type=\"button\"\n class=\"av-nav-link\"\n [ngStyle]=\"themeVars()\"\n [class.av-nav-link--active]=\"active()\"\n [class.av-nav-link--disabled]=\"disabled()\"\n [disabled]=\"disabled()\"\n [attr.aria-current]=\"active() ? 'page' : null\"\n (click)=\"handleClick($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n }\n}\n\n<ng-template #content>\n @if (icon()) {\n <span class=\"av-nav-link__icon\" av-icon [name]=\"icon()\" size=\"md\"></span>\n }\n\n <span class=\"av-nav-link__body\">\n @if (label()) {\n <span class=\"av-nav-link__label\">{{ label() }}</span>\n } @else {\n <span class=\"av-nav-link__label\">\n <ng-content></ng-content>\n </span>\n }\n\n @if (description()) {\n <span class=\"av-nav-link__description\">{{ description() }}</span>\n }\n </span>\n\n @if (badge() !== null && badge() !== undefined) {\n <span class=\"av-nav-link__badge\">{{ badge() }}</span>\n }\n</ng-template>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n ElementRef,\n HostBinding,\n HostListener,\n PLATFORM_ID,\n Renderer2,\n booleanAttribute,\n computed,\n contentChild,\n effect,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\n\nexport type AvSidenavMode = 'side' | 'drawer';\nexport type AvSidenavTrigger = ElementRef<HTMLElement> | HTMLElement | null | undefined;\n\n@Component({\n imports: [CommonModule],\n selector: 'av-sidenav',\n styleUrl: './av-sidenav.css',\n templateUrl: './av-sidenav.html',\n})\nexport class AvSidenav {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly destroyRef = inject(DestroyRef);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly renderer = inject(Renderer2);\n private readonly themeService = inject(ThemeService);\n\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n private readonly projectedToggleTrigger = contentChild<ElementRef<HTMLElement>>('toggleTrigger');\n private readonly drawerModeState = signal<boolean>(false);\n private readonly internalOpened = signal<boolean>(true);\n private missingTriggerWarned = false;\n private previousBodyOverflow: string | null = null;\n private lastMode: AvSidenavMode = 'side';\n\n ariaLabel = input<string>('Navegação principal');\n backdropLabel = input<string>('Fechar navegação');\n closeOnBackdrop = input<boolean, unknown>(true, { transform: booleanAttribute });\n closeOnNavigation = input<boolean, unknown>(true, { transform: booleanAttribute });\n drawerBreakpoint = input<number | string>(768);\n opened = input<boolean | undefined, unknown>(undefined, {\n transform: (value: unknown) => value === undefined ? undefined : booleanAttribute(value),\n });\n toggleable = input<boolean, unknown>(false, { transform: booleanAttribute });\n toggleTrigger = input<AvSidenavTrigger>(null);\n variant = input<string>(this.config.theme.defaultVariant);\n width = input<number | string>('16rem');\n\n openedChange = output<boolean>();\n modeChange = output<AvSidenavMode>();\n\n readonly drawerMode = computed<boolean>(() => this.drawerModeState());\n readonly isOpen = computed<boolean>(() => {\n if (!this.toggleable()) return true;\n\n return this.opened() ?? this.internalOpened();\n });\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n console.log(variant);\n\n\n return {\n '--av-sidenav-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-sidenav-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 16%, transparent)`\n : `var(--av-${variant}-50)`,\n '--av-sidenav-border': 'var(--av-color-border-soft)',\n '--av-sidenav-surface': 'var(--av-color-surface)',\n '--av-sidenav-text': 'var(--av-color-text)',\n '--av-sidenav-muted': 'var(--av-color-text-muted)',\n };\n });\n\n @HostBinding('class.av-sidenav-host--drawer')\n get drawerClass(): boolean {\n return this.drawerMode();\n }\n\n @HostBinding('class.av-sidenav-host--closed')\n get closedClass(): boolean {\n return !this.isOpen();\n }\n\n @HostBinding('class.av-sidenav-host--toggleable')\n get toggleableClass(): boolean {\n return this.toggleable();\n }\n\n @HostBinding('style.--av-sidenav-width')\n get widthStyle(): string {\n return this.coerceCssLength(this.width());\n }\n\n constructor() {\n effect((onCleanup) => {\n if (!this.isBrowser) return;\n\n const mediaQuery = window.matchMedia(this.mediaQuery());\n const updateMode = (): void => {\n this.setDrawerMode(mediaQuery.matches);\n };\n\n updateMode();\n mediaQuery.addEventListener('change', updateMode);\n onCleanup(() => mediaQuery.removeEventListener('change', updateMode));\n });\n\n effect(() => {\n const controlledOpened = this.opened();\n\n if (controlledOpened !== undefined) {\n this.internalOpened.set(controlledOpened);\n }\n });\n\n effect(() => {\n this.drawerMode();\n this.isOpen();\n this.toggleable();\n this.updateBodyScroll();\n });\n\n effect((onCleanup) => {\n if (!this.toggleable()) return;\n\n const trigger = this.resolveToggleTrigger();\n\n if (!trigger) {\n this.warnMissingTrigger();\n return;\n }\n\n this.renderer.setAttribute(trigger, 'aria-controls', this.navId);\n this.renderer.setAttribute(trigger, 'aria-haspopup', 'dialog');\n\n const removeClickListener = this.renderer.listen(trigger, 'click', (event: Event) => {\n event.preventDefault();\n this.toggle();\n });\n\n onCleanup(() => {\n removeClickListener();\n this.renderer.removeAttribute(trigger, 'aria-controls');\n this.renderer.removeAttribute(trigger, 'aria-expanded');\n this.renderer.removeAttribute(trigger, 'aria-haspopup');\n });\n });\n\n effect(() => {\n if (!this.toggleable()) return;\n\n const trigger = this.resolveToggleTrigger();\n if (!trigger) return;\n\n this.renderer.setAttribute(trigger, 'aria-expanded', String(this.isOpen()));\n });\n\n this.destroyRef.onDestroy(() => {\n this.restoreBodyScroll();\n });\n }\n\n readonly navId = `av-sidenav-${Math.random().toString(36).slice(2, 9)}`;\n\n open(): void {\n this.setOpenState(true);\n }\n\n close(options: { restoreFocus?: boolean } = {}): void {\n this.setOpenState(false);\n\n if (options.restoreFocus) {\n this.resolveToggleTrigger()?.focus();\n }\n }\n\n toggle(): void {\n this.setOpenState(!this.isOpen());\n }\n\n closeFromBackdrop(): void {\n if (!this.closeOnBackdrop()) return;\n\n this.close({ restoreFocus: true });\n }\n\n handleNavigation(): void {\n if (!this.drawerMode() || !this.closeOnNavigation()) return;\n\n this.close();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n handleEscape(event: Event): void {\n if (!this.drawerMode() || !this.isOpen()) return;\n\n event.preventDefault();\n this.close({ restoreFocus: true });\n }\n\n private get mode(): AvSidenavMode {\n return this.drawerMode() ? 'drawer' : 'side';\n }\n\n private mediaQuery(): string {\n const breakpoint = this.drawerBreakpoint();\n\n if (typeof breakpoint === 'number') {\n return `(max-width: ${breakpoint}px)`;\n }\n\n const value = breakpoint.trim();\n if (value.startsWith('(')) return value;\n\n return `(max-width: ${value})`;\n }\n\n private setDrawerMode(isDrawer: boolean): void {\n this.drawerModeState.set(isDrawer);\n\n if (this.opened() === undefined && this.toggleable()) {\n this.internalOpened.set(!isDrawer);\n }\n\n if (this.mode !== this.lastMode) {\n this.lastMode = this.mode;\n this.modeChange.emit(this.mode);\n }\n }\n\n private setOpenState(open: boolean): void {\n if (!this.toggleable()) return;\n\n this.internalOpened.set(open);\n this.openedChange.emit(open);\n this.updateBodyScroll();\n }\n\n private updateBodyScroll(): void {\n if (!this.isBrowser) return;\n\n const shouldLock = this.drawerMode() && this.isOpen() && this.toggleable();\n\n if (shouldLock && this.previousBodyOverflow === null) {\n this.previousBodyOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return;\n }\n\n if (!shouldLock && this.previousBodyOverflow !== null) {\n document.body.style.overflow = this.previousBodyOverflow;\n this.previousBodyOverflow = null;\n }\n }\n\n private restoreBodyScroll(): void {\n if (!this.isBrowser) return;\n\n if (this.previousBodyOverflow !== null) {\n document.body.style.overflow = this.previousBodyOverflow;\n this.previousBodyOverflow = null;\n }\n }\n\n private resolveToggleTrigger(): HTMLElement | null {\n const trigger = this.toggleTrigger();\n const projectedTrigger = this.projectedToggleTrigger();\n\n if (trigger instanceof ElementRef) {\n return trigger.nativeElement;\n }\n\n if (typeof HTMLElement !== 'undefined' && trigger instanceof HTMLElement) {\n return trigger;\n }\n\n return projectedTrigger?.nativeElement ?? null;\n }\n\n private warnMissingTrigger(): void {\n if (this.missingTriggerWarned) return;\n\n this.missingTriggerWarned = true;\n console.warn(\n 'AvSidenav: quando toggleable estiver habilitado, forneça um botão com #toggleTrigger e passe-o em [toggleTrigger].'\n );\n }\n\n private coerceCssLength(value: number | string): string {\n if (typeof value === 'number') {\n return `${value}px`;\n }\n\n return value;\n }\n}\n","@if (drawerMode() && isOpen() && toggleable()) {\n <button\n type=\"button\"\n class=\"av-sidenav__backdrop\"\n [attr.aria-label]=\"backdropLabel()\"\n (click)=\"closeFromBackdrop()\"\n ></button>\n}\n\n<nav\n class=\"av-sidenav\"\n [id]=\"navId\"\n [ngStyle]=\"themeVars()\"\n [class.av-sidenav--drawer]=\"drawerMode()\"\n [class.av-sidenav--closed]=\"!isOpen()\"\n [attr.aria-hidden]=\"!isOpen() ? 'true' : null\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.inert]=\"!isOpen() ? '' : null\"\n (av-nav-link-select)=\"handleNavigation()\"\n>\n <div class=\"av-sidenav__header\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"av-sidenav__content\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div class=\"av-sidenav__footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n selector: 'av-cluster',\n styleUrl: './av-cluster.css',\n templateUrl: './av-cluster.html',\n})\nexport class AvCluster {\n gap = input<number>(1)\n\n get gapValue() {\n return `${4 * this.gap()}px`\n }\n}\n","<div class=\"av-cluster\" [style.--av-cluster-gap]=\"gapValue\">\n <ng-content></ng-content>\n</div>\n","import { Component, inject, input } from '@angular/core';\nimport { VISUALS_CONFIG } from '../../core/tokens';\n\n@Component({\n imports: [],\n selector: 'lib-av-divider',\n styleUrl: './av-divider.css',\n templateUrl: './av-divider.html',\n})\nexport class AvDivider {\n private readonly config = inject(VISUALS_CONFIG);\n\n size = input<number>(1);\n direction = input<'vert' | 'hori'>('hori');\n variant = input<string>(this.config.theme.defaultVariant);\n\n get borderStyle(): string {\n return `${4 * this.size()}px solid var(--av-${this.variant()}-600)`;\n }\n\n get isVertical(): boolean {\n return this.direction() === 'vert';\n }\n}\n","<div\n class=\"av-divider\"\n aria-hidden=\"true\"\n [style.border-left]=\"isVertical ? borderStyle : null\"\n [style.border-top]=\"isVertical ? null : borderStyle\"\n></div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n selector: 'av-inline',\n styleUrl: './av-inline.css',\n templateUrl: './av-inline.html',\n})\nexport class AvInline {\n gap = input<number>(1)\n\n get gapValue() {\n return `${4 * this.gap()}px`\n }\n}\n","<div class=\"av-inline\" [style.--av-inline-gap]=\"gapValue\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n selector: 'av-stack',\n styleUrl: './av-stack.css',\n templateUrl: './av-stack.html',\n})\nexport class AvStack {\n gap = input<number>(1)\n\n get gapValue() {\n return `${4 * this.gap()}px`\n }\n}\n","<div class=\"av-stack\" [style.--av-stack-gap]=\"gapValue\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n HostListener,\n OnDestroy,\n computed,\n inject,\n input,\n numberAttribute,\n booleanAttribute,\n signal,\n Renderer2,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Subscription } from 'rxjs';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\n\nexport type AvTooltipPosition = 'top' | 'right' | 'bottom' | 'left';\n\nlet nextTooltipId = 0;\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n selector: 'av-tooltip-panel',\n styleUrl: './av-tooltip.css',\n templateUrl: './av-tooltip.html',\n})\nclass AvTooltipPanel {\n readonly id = signal('');\n readonly text = signal('');\n readonly position = signal<AvTooltipPosition>('top');\n readonly themeVars = signal<Record<string, string>>({});\n}\n\n@Directive({\n exportAs: 'avTooltip',\n selector: '[av-tooltip], [avTooltip]',\n standalone: true,\n})\nexport class AvTooltip implements OnDestroy {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly renderer = inject(Renderer2);\n private readonly themeService = inject(ThemeService);\n\n text = input<string>('', { alias: 'av-tooltip' });\n textCamel = input<string>('', { alias: 'avTooltip' });\n position = input<AvTooltipPosition>('top', { alias: 'avTooltipPosition' });\n variant = input<string>(this.config.theme.defaultVariant, { alias: 'avTooltipVariant' });\n disabled = input<boolean, unknown>(false, {\n alias: 'avTooltipDisabled',\n transform: booleanAttribute,\n });\n showDelay = input<number, unknown>(120, {\n alias: 'avTooltipShowDelay',\n transform: numberAttribute,\n });\n hideDelay = input<number, unknown>(60, {\n alias: 'avTooltipHideDelay',\n transform: numberAttribute,\n });\n offset = input<number, unknown>(8, {\n alias: 'avTooltipOffset',\n transform: numberAttribute,\n });\n\n private readonly tooltipId = `av-tooltip-${++nextTooltipId}`;\n private overlayRef?: OverlayRef;\n private panel?: AvTooltipPanel;\n private positionStrategy?: FlexibleConnectedPositionStrategy;\n private positionSubscription?: Subscription;\n private showTimeout?: ReturnType<typeof setTimeout>;\n private hideTimeout?: ReturnType<typeof setTimeout>;\n private previousDescribedBy: string | null | undefined;\n\n private readonly content = computed(() => this.textCamel() || this.text());\n\n private readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n const accent = `var(--av-${variant}-${isDark ? 400 : 500})`;\n\n return {\n '--av-tooltip-bg': isDark\n ? 'var(--av-color-surface-raised)'\n : 'var(--av-slate-950)',\n '--av-tooltip-border': isDark\n ? `color-mix(in srgb, ${accent} 34%, var(--av-color-border-soft))`\n : `color-mix(in srgb, ${accent} 44%, var(--av-slate-800))`,\n '--av-tooltip-color': isDark\n ? 'var(--av-color-text)'\n : 'var(--av-white)',\n '--av-tooltip-shadow': 'var(--av-shadow-raised)',\n '--av-tooltip-accent': accent,\n };\n });\n\n @HostListener('mouseenter')\n @HostListener('focusin')\n show(): void {\n if (this.disabled() || !this.content().trim()) return;\n\n clearTimeout(this.hideTimeout);\n clearTimeout(this.showTimeout);\n\n this.showTimeout = setTimeout(() => {\n this.open();\n }, Math.max(0, this.showDelay()));\n }\n\n @HostListener('mouseleave')\n @HostListener('focusout')\n hide(): void {\n clearTimeout(this.showTimeout);\n clearTimeout(this.hideTimeout);\n\n this.hideTimeout = setTimeout(() => {\n this.detach();\n }, Math.max(0, this.hideDelay()));\n }\n\n @HostListener('keydown.escape')\n hideImmediately(): void {\n clearTimeout(this.showTimeout);\n clearTimeout(this.hideTimeout);\n this.detach();\n }\n\n private open(): void {\n if (!this.overlayRef) {\n this.createOverlay();\n }\n\n this.positionStrategy?.withPositions(this.positionsFor(this.safePosition()));\n\n if (!this.overlayRef?.hasAttached()) {\n const portal = new ComponentPortal(AvTooltipPanel);\n const ref = this.overlayRef?.attach(portal);\n\n this.panel = ref?.instance;\n this.setAriaDescription();\n }\n\n this.updatePanel();\n this.overlayRef?.updatePosition();\n }\n\n private createOverlay(): void {\n this.positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withFlexibleDimensions(false)\n .withPush(true)\n .withViewportMargin(8)\n .withPositions(this.positionsFor(this.safePosition()));\n\n this.positionSubscription = this.positionStrategy.positionChanges.subscribe(({ connectionPair }) => {\n this.panel?.position.set(this.positionFromConnection(connectionPair));\n });\n\n this.overlayRef = this.overlay.create({\n panelClass: 'av-tooltip-overlay',\n positionStrategy: this.positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n });\n }\n\n private updatePanel(): void {\n if (!this.panel) return;\n\n this.panel.id.set(this.tooltipId);\n this.panel.text.set(this.content());\n this.panel.position.set(this.safePosition());\n this.panel.themeVars.set(this.themeVars());\n }\n\n private detach(): void {\n this.overlayRef?.detach();\n this.panel = undefined;\n this.restoreAriaDescription();\n }\n\n private setAriaDescription(): void {\n const host = this.elementRef.nativeElement;\n\n if (this.previousDescribedBy === undefined) {\n this.previousDescribedBy = host.getAttribute('aria-describedby');\n }\n\n const ids = [this.previousDescribedBy, this.tooltipId]\n .filter(Boolean)\n .join(' ');\n\n this.renderer.setAttribute(host, 'aria-describedby', ids);\n }\n\n private restoreAriaDescription(): void {\n const host = this.elementRef.nativeElement;\n\n if (this.previousDescribedBy) {\n this.renderer.setAttribute(host, 'aria-describedby', this.previousDescribedBy);\n return;\n }\n\n this.renderer.removeAttribute(host, 'aria-describedby');\n }\n\n private safePosition(): AvTooltipPosition {\n const position = this.position();\n\n return ['top', 'right', 'bottom', 'left'].includes(position)\n ? position\n : 'top';\n }\n\n private positionsFor(position: AvTooltipPosition): ConnectedPosition[] {\n const offset = Math.max(0, this.offset());\n const positions: Record<AvTooltipPosition, ConnectedPosition[]> = {\n top: [\n { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -offset },\n { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: offset },\n ],\n right: [\n { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: offset },\n { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -offset },\n ],\n bottom: [\n { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: offset },\n { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -offset },\n ],\n left: [\n { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -offset },\n { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: offset },\n ],\n };\n\n return positions[position];\n }\n\n private positionFromConnection(position: ConnectedPosition): AvTooltipPosition {\n if (position.overlayY === 'bottom' && position.originY === 'top') return 'top';\n if (position.overlayY === 'top' && position.originY === 'bottom') return 'bottom';\n if (position.overlayX === 'end' && position.originX === 'start') return 'left';\n\n return 'right';\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.showTimeout);\n clearTimeout(this.hideTimeout);\n this.positionSubscription?.unsubscribe();\n this.overlayRef?.dispose();\n this.restoreAriaDescription();\n }\n}\n","<div\n class=\"av-tooltip-panel\"\n role=\"tooltip\"\n [id]=\"id()\"\n [attr.data-position]=\"position()\"\n [ngStyle]=\"themeVars()\"\n>\n <span class=\"av-tooltip-panel__text\">{{ text() }}</span>\n <span class=\"av-tooltip-panel__arrow\" aria-hidden=\"true\"></span>\n</div>\n","import {\n Component,\n Input,\n Self,\n Optional,\n ElementRef,\n ViewChild,\n AfterViewInit,\n input,\n inject\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n FormsModule\n} from '@angular/forms';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\n\n@Component({\n selector: 'av-text-area',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, FormsModule, AvIcon],\n templateUrl: './av-text-area.component.html',\n styleUrls: ['./av-text-area.component.css'],\n})\nexport class AvTextArea implements ControlValueAccessor, AfterViewInit {\n private readonly config = inject(VISUALS_CONFIG);\n\n placeholder = input<string>('');\n type = input<string>('text');\n label = input<string>();\n icon = input<string>();\n loading = input<boolean>(false);\n autoFocus = input<boolean>(false);\n loadingIcon = input<string>('blocks-shuffle-3');\n variant = input<string>(this.config.theme.defaultVariant);\n rounded = input<number | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\">(\"md\");\n\n errorMessage = input<string>('');\n\n @ViewChild('inputRef') inputEl!: ElementRef<HTMLInputElement>;\n\n value: any = '';\n disabled: boolean = false;\n\n // Funções de callback registradas pelo Angular Forms\n onChange: any = () => { };\n onTouched: any = () => { };\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngAfterViewInit(): void {\n if (this.autoFocus() && this.inputEl) {\n setTimeout(() => this.inputEl.nativeElement.focus(), 0);\n }\n }\n\n get controlClasses(): string {\n return [\n this.isInvalid ? 'av-input__control--invalid' : '',\n ].filter(Boolean).join(' ');\n }\n\n get isInvalid(): boolean {\n return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched));\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.onChange(this.value);\n }\n}\n","<div class=\"av-text-area\"\n[style.--av-text-area-accent]=\"`var(--av-${variant()}-500)`\"\n[style.--av-text-area-accent-dark]=\"`var(--av-${variant()}-400)`\"\n>\n @if (label()) {\n <label class=\"av-text-area__label\">\n {{ label() }}\n </label>\n }\n\n <div class=\"av-text-area__field\">\n @if (icon() || loading()) {\n <div class=\"av-text-area__icon\">\n <span av-icon [name]=\"loading()? loadingIcon()!: icon()!\"></span>\n </div>\n }\n\n <textarea\n #inputRef\n [value]=\"value\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\"\n class=\"av-text-area__control\"\n [class.av-text-area__control--with-icon]=\"icon()\"\n [class.av-text-area__control--without-icon]=\"!icon()\"\n [ngClass]=\"controlClasses\"\n >\n </textarea>\n </div>\n\n @if (isInvalid || errorMessage()) {\n <span class=\"av-text-area__error\">\n {{ errorMessage() || 'Campo inválido' }}\n </span>\n }\n</div>\n","import {\n Component,\n effect,\n input,\n OnDestroy,\n signal\n} from '@angular/core';\n\n@Component({\n imports: [],\n selector: 'av-text',\n standalone: true,\n styleUrl: './av-text.css',\n templateUrl: './av-text.html',\n})\nexport class AvText implements OnDestroy {\n value = input<string | number>('');\n\n animation = input<| 'none'\n | 'fade'\n | 'slide'>('none');\n\n duration = input(250);\n\n protected current = signal<string | number>('');\n protected previous = signal<string | number | null>(null);\n\n protected animating = signal(false);\n\n private timeout?: ReturnType<typeof setTimeout>;\n\n constructor() {\n effect(() => {\n const value = this.value();\n\n if (value === this.current()) {\n return;\n }\n\n this.animateTo(value);\n });\n }\n\n private animateTo(value: string | number): void {\n clearTimeout(this.timeout);\n\n this.previous.set(this.current());\n this.current.set(value);\n\n this.animating.set(true);\n\n this.timeout = setTimeout(() => {\n this.previous.set(null);\n this.animating.set(false);\n }, this.duration());\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.timeout);\n }\n}\n","<span\n class=\"av-text\"\n [class.av-text--animating]=\"animating()\"\n [class.av-text--fade]=\"animation() === 'fade'\"\n [class.av-text--slide]=\"animation() === 'slide'\"\n [style.--av-text-duration.ms]=\"duration()\"\n>\n <span\n class=\"av-text__measure\"\n aria-hidden=\"true\"\n >\n {{ current() }}\n </span>\n\n @if (previous() !== null) {\n <span class=\"av-text__value av-text__value--old\">\n {{ previous() }}\n </span>\n }\n\n <span class=\"av-text__value av-text__value--new\">\n {{ current() }}\n </span>\n</span>\n","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnDestroy,\n output,\n signal,\n untracked,\n ViewChild,\n computed,\n effect\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\nimport { AvText } from '../../../primitives/av-text/av-text';\n\nexport interface AvFileUploadFile {\n id: string;\n file: File;\n name: string;\n size: number;\n type: string;\n extension: string;\n lastModified: number;\n readableSize: string;\n}\n\nexport interface AvFileUploadRejection {\n file: File;\n reason: 'accept';\n message: string;\n}\n\nexport type AvFileUploadValue = AvFileUploadFile[];\ntype AvFileUploadInputValue = File | File[] | FileList | AvFileUploadFile | AvFileUploadFile[] | null | undefined;\ntype AvRounded = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\nlet nextId = 0;\n\n@Component({\n imports: [CommonModule, AvText],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AvFileUpload),\n },\n ],\n selector: 'av-file-upload',\n standalone: true,\n styleUrl: './av-file-upload.css',\n templateUrl: './av-file-upload.html',\n})\nexport class AvFileUpload implements ControlValueAccessor, OnDestroy {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n @ViewChild('fileInput') private fileInput?: ElementRef<HTMLInputElement>;\n\n id = input<string>('');\n name = input<string>('');\n label = input<string>('');\n helper = input<string>('');\n emptyText = input<string>('Nenhum arquivo selecionado');\n loadingText = input<string>('Carregando...');\n dropText = input<string>('Solte para anexar');\n browseText = input<string>('Escolher');\n accept = input<string>('');\n capture = input<string | undefined>(undefined);\n value = input<AvFileUploadInputValue>(null);\n multiple = input<boolean, unknown>(false, { transform: booleanAttribute });\n disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n clearable = input<boolean, unknown>(true, { transform: booleanAttribute });\n showList = input<boolean, unknown>(true, { transform: booleanAttribute });\n variant = input<string>(this.config.theme.defaultVariant);\n ringColor = input<string | undefined>(undefined);\n rounded = input<AvRounded>('lg');\n errorMessage = input<string>('');\n\n valueChange = output<AvFileUploadValue>();\n filesChange = output<AvFileUploadValue>();\n rejected = output<AvFileUploadRejection[]>();\n cleared = output<void>();\n\n protected readonly inputId = `av-file-upload-${++nextId}`;\n protected readonly files = signal<AvFileUploadFile[]>([]);\n protected readonly dragging = signal(false);\n protected readonly statusOverride = signal<string | null>(null);\n protected readonly rejectionMessage = signal('');\n protected readonly formDisabled = signal(false);\n\n private statusTimeout?: ReturnType<typeof setTimeout>;\n private onChange: (value: AvFileUploadValue) => void = () => { };\n private onTouched: () => void = () => { };\n\n protected readonly isDisabled = computed(() => this.disabled() || this.formDisabled());\n protected readonly activeVariant = computed(() => this.ringColor() || this.variant());\n\n protected readonly displayText = computed(() => {\n if (this.dragging()) return this.dropText();\n\n return this.statusOverride() || this.selectedLabel();\n });\n\n protected readonly supportingText = computed(() => {\n if (this.helper()) return this.helper();\n if (this.accept()) return `Aceita: ${this.accept()}`;\n\n return this.multiple()\n ? 'Selecione ou arraste vários arquivos'\n : 'Selecione ou arraste um arquivo';\n });\n\n protected readonly hostId = computed(() => this.id() || this.inputId);\n\n protected readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.activeVariant();\n const isDark = this.themeService.dark();\n const accentStep = isDark ? 400 : 500;\n\n return {\n '--av-file-upload-accent': `var(--av-${variant}-${accentStep})`,\n '--av-file-upload-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 16%, transparent)`\n : `color-mix(in srgb, var(--av-${variant}-500) 10%, var(--av-color-surface))`,\n '--av-file-upload-ring': `color-mix(in srgb, var(--av-${variant}-${accentStep}) 24%, transparent)`,\n '--av-file-upload-rounded': this.roundedValue(),\n };\n });\n\n constructor() {\n effect(() => {\n const value = this.value();\n\n untracked(() => this.setFiles(this.normalizeInputValue(value), false));\n });\n }\n\n writeValue(value: AvFileUploadInputValue): void {\n this.setFiles(this.normalizeInputValue(value), false);\n }\n\n registerOnChange(fn: (value: AvFileUploadValue) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.formDisabled.set(disabled);\n }\n\n protected openPicker(event: Event): void {\n event.preventDefault();\n\n if (this.isDisabled()) return;\n\n this.fileInput?.nativeElement.click();\n }\n\n protected onNativeChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n\n this.handleFileList(input.files);\n input.value = '';\n }\n\n protected onDragOver(event: DragEvent): void {\n event.preventDefault();\n\n if (this.isDisabled()) return;\n\n this.dragging.set(true);\n\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = 'copy';\n }\n }\n\n protected onDragLeave(): void {\n this.dragging.set(false);\n }\n\n protected onDrop(event: DragEvent): void {\n event.preventDefault();\n this.dragging.set(false);\n\n if (this.isDisabled()) return;\n\n this.handleFileList(event.dataTransfer?.files ?? null);\n }\n\n protected removeFile(fileId: string): void {\n if (this.isDisabled()) return;\n\n this.setFiles(this.files().filter((file) => file.id !== fileId), true);\n this.markTouched();\n }\n\n protected clear(): void {\n if (this.isDisabled()) return;\n\n this.setFiles([], true);\n this.cleared.emit();\n this.markTouched();\n }\n\n protected markTouched(): void {\n this.onTouched();\n }\n\n private handleFileList(fileList: FileList | null): void {\n const files = fileList ? Array.from(fileList) : [];\n\n this.rejectionMessage.set('');\n this.statusOverride.set(this.loadingText());\n clearTimeout(this.statusTimeout);\n\n const { accepted, rejections } = this.filterFiles(files);\n\n if (rejections.length) {\n this.rejected.emit(rejections);\n this.rejectionMessage.set(\n rejections.length === 1\n ? rejections[0].message\n : `${rejections.length} arquivos não correspondem ao filtro permitido.`\n );\n }\n\n if (accepted.length || !rejections.length) {\n this.setFiles(this.toEntries(accepted), true);\n }\n\n this.markTouched();\n\n this.statusTimeout = setTimeout(() => {\n this.statusOverride.set(null);\n }, 260);\n }\n\n private setFiles(files: AvFileUploadFile[], emit: boolean): void {\n const nextFiles = this.multiple() ? files : files.slice(0, 1);\n\n this.files.set(nextFiles);\n\n if (!nextFiles.length) {\n this.rejectionMessage.set('');\n }\n\n if (emit) {\n this.onChange(nextFiles);\n this.valueChange.emit(nextFiles);\n this.filesChange.emit(nextFiles);\n }\n }\n\n private normalizeInputValue(value: AvFileUploadInputValue): AvFileUploadFile[] {\n if (!value) return [];\n\n if (this.isFileList(value)) {\n return this.toEntries(Array.from(value));\n }\n\n if (this.isFile(value)) {\n return this.toEntries([value]);\n }\n\n if (Array.isArray(value)) {\n return value.flatMap((item, index) => {\n if (this.isUploadFile(item)) return item;\n if (this.isFile(item)) return [this.toEntry(item, index)];\n\n return [];\n });\n }\n\n if (this.isUploadFile(value)) {\n return [value];\n }\n\n return [];\n }\n\n private filterFiles(files: File[]): { accepted: File[]; rejections: AvFileUploadRejection[] } {\n const accepted: File[] = [];\n const rejections: AvFileUploadRejection[] = [];\n\n for (const file of files) {\n if (this.acceptsFile(file)) {\n accepted.push(file);\n } else {\n rejections.push({\n file,\n reason: 'accept',\n message: `${file.name} não corresponde ao filtro ${this.accept()}.`,\n });\n }\n }\n\n return { accepted, rejections };\n }\n\n private acceptsFile(file: File): boolean {\n const accept = this.accept().trim();\n\n if (!accept) return true;\n\n return accept.split(',').some((part) => {\n const rule = part.trim().toLowerCase();\n const fileName = file.name.toLowerCase();\n const fileType = file.type.toLowerCase();\n\n if (!rule) return true;\n if (rule.startsWith('.')) return fileName.endsWith(rule);\n if (rule.endsWith('/*')) return fileType.startsWith(rule.slice(0, -1));\n\n return fileType === rule;\n });\n }\n\n private toEntries(files: File[]): AvFileUploadFile[] {\n return files.map((file, index) => this.toEntry(file, index));\n }\n\n private toEntry(file: File, index: number): AvFileUploadFile {\n const extension = file.name.includes('.')\n ? file.name.split('.').pop()?.toLowerCase() ?? ''\n : '';\n\n return {\n extension,\n file,\n id: `${file.name}-${file.size}-${file.lastModified}-${index}`,\n lastModified: file.lastModified,\n name: file.name,\n readableSize: this.formatBytes(file.size),\n size: file.size,\n type: file.type || 'application/octet-stream',\n };\n }\n\n private selectedLabel(): string {\n const files = this.files();\n\n if (!files.length) return this.emptyText();\n if (files.length === 1) return files[0].name;\n\n return `${files.length} arquivos selecionados`;\n }\n\n private formatBytes(bytes: number): string {\n if (bytes === 0) return '0 B';\n\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n const index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n const value = bytes / 1024 ** index;\n\n return `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n }\n\n private roundedValue(): string {\n const rounded = this.rounded();\n\n return typeof rounded === 'string'\n ? `var(--av-radius-${rounded})`\n : `${rounded}px`;\n }\n\n private isFile(value: unknown): value is File {\n return typeof File !== 'undefined' && value instanceof File;\n }\n\n private isFileList(value: unknown): value is FileList {\n return typeof FileList !== 'undefined' && value instanceof FileList;\n }\n\n private isUploadFile(value: unknown): value is AvFileUploadFile {\n return !!value && typeof value === 'object' && 'file' in value && this.isFile((value as AvFileUploadFile).file);\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.statusTimeout);\n }\n}\n","<div\n class=\"av-file-upload\"\n [class.av-file-upload--disabled]=\"isDisabled()\"\n [class.av-file-upload--dragging]=\"dragging()\"\n [ngStyle]=\"themeVars()\"\n>\n @if (label()) {\n <label class=\"av-file-upload__label\" [for]=\"hostId()\">\n {{ label() }}\n </label>\n }\n\n <input\n #fileInput\n class=\"av-file-upload__input\"\n type=\"file\"\n [id]=\"hostId()\"\n [attr.name]=\"name() || null\"\n [attr.accept]=\"accept() || null\"\n [attr.capture]=\"capture() || null\"\n [attr.multiple]=\"multiple() ? '' : null\"\n [disabled]=\"isDisabled()\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"markTouched()\"\n />\n\n <label\n class=\"av-file-upload__dropzone\"\n [for]=\"hostId()\"\n [attr.aria-disabled]=\"isDisabled()\"\n tabindex=\"0\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave()\"\n (drop)=\"onDrop($event)\"\n (keydown.enter)=\"openPicker($event)\"\n (keydown.space)=\"openPicker($event)\"\n >\n <span class=\"av-file-upload__mark\" aria-hidden=\"true\">\n <span class=\"av-file-upload__mark-line\"></span>\n </span>\n\n <span class=\"av-file-upload__content\">\n <span class=\"av-file-upload__headline\">\n <av-text [value]=\"displayText()\" animation=\"slide\" />\n </span>\n\n <span class=\"av-file-upload__helper\">\n <av-text [value]=\"supportingText()\" animation=\"slide\" [duration]=\"180\" />\n </span>\n </span>\n\n <span class=\"av-file-upload__action\">\n {{ browseText() }}\n </span>\n </label>\n\n @if (rejectionMessage() || errorMessage()) {\n <span class=\"av-file-upload__error\">\n {{ rejectionMessage() || errorMessage() }}\n </span>\n }\n\n @if (showList() && files().length) {\n <ul class=\"av-file-upload__list\">\n @for (file of files(); track file.id) {\n <li class=\"av-file-upload__item\">\n <span class=\"av-file-upload__file\">\n <span class=\"av-file-upload__file-name\">{{ file.name }}</span>\n <span class=\"av-file-upload__file-meta\">{{ file.readableSize }} · {{ file.extension || file.type }}</span>\n </span>\n\n @if (clearable()) {\n <button\n type=\"button\"\n class=\"av-file-upload__remove\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"'Remover ' + file.name\"\n (click)=\"removeFile(file.id)\"\n >\n ×\n </button>\n }\n </li>\n }\n </ul>\n }\n\n @if (clearable() && files().length > 1) {\n <button\n type=\"button\"\n class=\"av-file-upload__clear\"\n [disabled]=\"isDisabled()\"\n (click)=\"clear()\"\n >\n Limpar arquivos\n </button>\n }\n</div>\n","import {\n Component,\n computed,\n forwardRef,\n inject,\n input,\n model\n} from '@angular/core';\n\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\n\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'av-switch',\n imports: [CommonModule],\n styleUrl: './av-switch.component.css',\n templateUrl: './av-switch.component.html',\n\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AvSwitch),\n multi: true\n }\n ]\n})\nexport class AvSwitch implements ControlValueAccessor {\n\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n variant = input<string>(\n this.config.theme.defaultVariant\n );\n\n rounded = input<\n number |\n 'xs' |\n 'sm' |\n 'md' |\n 'lg' |\n 'xl' |\n 'full'\n >('md');\n\n checked = model(false);\n\n disabled = input(false);\n\n // Disabled vindo do Angular Forms\n protected formDisabled = false;\n\n readonly isDisabled = computed(() =>\n this.disabled() || this.formDisabled\n );\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-switch-active-bg':\n `var(--av-${variant}-${isDark ? 400 : 500})`,\n\n '--av-switch-rounded':\n typeof this.rounded() === 'string'\n ? `var(--av-radius-${this.rounded()})`\n : `${this.rounded()}px`\n };\n });\n\n // --------------------------------\n // ControlValueAccessor\n // --------------------------------\n\n private onChange: (value: boolean) => void = () => { };\n private onTouched: () => void = () => { };\n\n writeValue(value: boolean | null): void {\n this.checked.set(value ?? false);\n }\n\n registerOnChange(\n fn: (value: boolean) => void\n ): void {\n this.onChange = fn;\n }\n\n registerOnTouched(\n fn: () => void\n ): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.formDisabled = disabled;\n }\n\n // --------------------------------\n // Interaction\n // --------------------------------\n\n toggle(): void {\n if (this.isDisabled()) return;\n\n const value = !this.checked();\n\n this.checked.set(value);\n\n this.onChange(value);\n this.onTouched();\n }\n}\n","<button\n type=\"button\"\n class=\"av-switch\"\n [ngStyle]=\"themeVars()\"\n [attr.aria-checked]=\"checked()\"\n [attr.data-checked]=\"checked()\"\n [disabled]=\"disabled()\"\n (click)=\"toggle()\"\n>\n <div class=\"av-switch-thumb\"></div>\n</button>\n","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\n\nexport type AvSliderRangeValue = [number, number];\nexport type AvSliderValue = number | AvSliderRangeValue;\n\ntype AvSliderInputValue = AvSliderValue | string | null | undefined;\ntype AvSliderThumb = 'lower' | 'upper';\ntype AvRounded = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n@Component({\n imports: [CommonModule],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AvSlider),\n },\n ],\n selector: 'av-slider, lib-av-slider',\n standalone: true,\n styleUrl: './av-slider.css',\n templateUrl: './av-slider.html',\n})\nexport class AvSlider implements ControlValueAccessor {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n label = input<string>('');\n value = input<AvSliderInputValue>(null);\n min = input<number, unknown>(0, { transform: numberAttribute });\n max = input<number, unknown>(100, { transform: numberAttribute });\n step = input<number, unknown>(1, { transform: numberAttribute });\n range = input<boolean, unknown>(false, { transform: booleanAttribute });\n thumbLabel = input<boolean, unknown>(true, { transform: booleanAttribute });\n showValue = input<boolean, unknown>(false, { transform: booleanAttribute });\n disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n variant = input<string>(this.config.theme.defaultVariant);\n ringColor = input<string | undefined>(undefined);\n rounded = input<AvRounded>('full');\n valuePrefix = input<string>('');\n valueSuffix = input<string>('');\n displayWith = input<((value: number) => string) | undefined>(undefined);\n ariaLabel = input<string>('Slider');\n lowerAriaLabel = input<string>('Valor inicial');\n upperAriaLabel = input<string>('Valor final');\n\n valueChange = output<AvSliderValue>();\n changed = output<AvSliderValue>();\n\n protected readonly lowerValue = signal(50);\n protected readonly upperValue = signal(100);\n protected readonly formDisabled = signal(false);\n protected readonly activeThumb = signal<AvSliderThumb>('lower');\n\n protected readonly isDisabled = computed(() => this.disabled() || this.formDisabled());\n\n protected readonly safeMin = computed(() => this.coerceNumber(this.min(), 0));\n\n protected readonly safeMax = computed(() => {\n const min = this.safeMin();\n const max = this.coerceNumber(this.max(), min + 100);\n\n return max > min ? max : min + 1;\n });\n\n protected readonly safeStep = computed(() => {\n const step = this.coerceNumber(this.step(), 1);\n\n return step > 0 ? step : 1;\n });\n\n protected readonly roundedStyle = computed(() => {\n const rounded = this.rounded();\n\n return typeof rounded === 'string'\n ? `var(--av-radius-${rounded})`\n : `${rounded}px`;\n });\n\n protected readonly activeVariant = computed(() => this.ringColor() || this.variant());\n\n protected readonly lowerPercent = computed(() => this.toPercent(this.lowerValue()));\n\n protected readonly upperPercent = computed(() =>\n this.range() ? this.toPercent(this.upperValue()) : this.lowerPercent()\n );\n\n protected readonly fillLeft = computed(() =>\n this.range() ? Math.min(this.lowerPercent(), this.upperPercent()) : 0\n );\n\n protected readonly fillWidth = computed(() =>\n this.range()\n ? Math.abs(this.upperPercent() - this.lowerPercent())\n : this.lowerPercent()\n );\n\n protected readonly displayValue = computed(() => {\n if (this.range()) {\n return `${this.formatValue(this.lowerValue())} - ${this.formatValue(this.upperValue())}`;\n }\n\n return this.formatValue(this.lowerValue());\n });\n\n protected readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.activeVariant();\n const isDark = this.themeService.dark();\n const accentStep = isDark ? 400 : 500;\n const strongStep = isDark ? 300 : 600;\n\n return {\n '--av-slider-accent': `var(--av-${variant}-${accentStep})`,\n '--av-slider-accent-strong': `var(--av-${variant}-${strongStep})`,\n '--av-slider-focus-ring': `color-mix(in srgb, var(--av-${variant}-${accentStep}) 26%, transparent)`,\n '--av-slider-track': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 14%, var(--av-color-surface-muted))`\n : `color-mix(in srgb, var(--av-${variant}-500) 12%, var(--av-color-surface-muted))`,\n '--av-slider-rounded': this.roundedStyle(),\n };\n });\n\n private onChange: (value: AvSliderValue) => void = () => { };\n private onTouched: () => void = () => { };\n\n constructor() {\n effect(() => {\n this.syncExternalValue(\n this.value(),\n this.range(),\n this.safeMin(),\n this.safeMax(),\n this.safeStep()\n );\n });\n }\n\n writeValue(value: AvSliderInputValue): void {\n this.syncExternalValue(\n value,\n this.range(),\n this.safeMin(),\n this.safeMax(),\n this.safeStep()\n );\n }\n\n registerOnChange(fn: (value: AvSliderValue) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.formDisabled.set(disabled);\n }\n\n protected onInput(thumb: AvSliderThumb, event: Event): void {\n const target = event.target as HTMLInputElement;\n\n this.activeThumb.set(thumb);\n this.setThumbValue(thumb, target.value, true);\n }\n\n protected onTrackPointerDown(event: PointerEvent): void {\n if (this.isDisabled()) return;\n\n const target = event.currentTarget as HTMLElement;\n const bounds = target.getBoundingClientRect();\n const ratio = bounds.width <= 0\n ? 0\n : (event.clientX - bounds.left) / bounds.width;\n const value = this.safeMin() + this.clamp(ratio, 0, 1) * (this.safeMax() - this.safeMin());\n const thumb = this.closestThumb(value);\n\n this.activeThumb.set(thumb);\n this.setThumbValue(thumb, value, true);\n this.markTouched();\n }\n\n protected markTouched(): void {\n this.onTouched();\n }\n\n protected formatValue(value: number): string {\n const displayWith = this.displayWith();\n\n if (displayWith) {\n return displayWith(value);\n }\n\n return `${this.valuePrefix()}${this.trimValue(value)}${this.valueSuffix()}`;\n }\n\n private syncExternalValue(\n value: AvSliderInputValue,\n range: boolean,\n min: number,\n max: number,\n step: number\n ): void {\n if (range) {\n const [lower, upper] = this.coerceRangeValue(value, min, max, step);\n\n this.lowerValue.set(lower);\n this.upperValue.set(upper);\n return;\n }\n\n const nextValue = this.coerceSingleValue(value, min, max, step);\n\n this.lowerValue.set(nextValue);\n this.upperValue.set(nextValue);\n }\n\n private setThumbValue(thumb: AvSliderThumb, value: unknown, emit: boolean): void {\n const nextValue = this.normalizeValue(value);\n\n if (this.range()) {\n if (thumb === 'lower') {\n this.lowerValue.set(Math.min(nextValue, this.upperValue()));\n } else {\n this.upperValue.set(Math.max(nextValue, this.lowerValue()));\n }\n } else {\n this.lowerValue.set(nextValue);\n this.upperValue.set(nextValue);\n }\n\n if (emit) {\n this.emitValue();\n }\n }\n\n private emitValue(): void {\n const value: AvSliderValue = this.range()\n ? [this.lowerValue(), this.upperValue()]\n : this.lowerValue();\n\n this.onChange(value);\n this.valueChange.emit(value);\n this.changed.emit(value);\n }\n\n private closestThumb(value: number): AvSliderThumb {\n if (!this.range()) return 'lower';\n\n const lowerDistance = Math.abs(value - this.lowerValue());\n const upperDistance = Math.abs(value - this.upperValue());\n\n return lowerDistance <= upperDistance ? 'lower' : 'upper';\n }\n\n private coerceSingleValue(\n value: AvSliderInputValue,\n min: number,\n max: number,\n step: number\n ): number {\n if (Array.isArray(value)) {\n return this.normalizeValue(value[0], min, max, step);\n }\n\n if (typeof value === 'string' && value.includes(',')) {\n return this.normalizeValue(value.split(',')[0], min, max, step);\n }\n\n if (value === null || value === undefined) {\n return this.normalizeValue(min + (max - min) / 2, min, max, step);\n }\n\n return this.normalizeValue(value, min, max, step);\n }\n\n private coerceRangeValue(\n value: AvSliderInputValue,\n min: number,\n max: number,\n step: number\n ): AvSliderRangeValue {\n let lower: unknown = min;\n let upper: unknown = max;\n\n if (Array.isArray(value)) {\n [lower, upper] = value;\n } else if (typeof value === 'string' && value.includes(',')) {\n [lower, upper] = value.split(',');\n } else if (value !== null && value !== undefined) {\n lower = value;\n }\n\n const normalizedLower = this.normalizeValue(lower, min, max, step);\n const normalizedUpper = this.normalizeValue(upper, min, max, step);\n\n return normalizedLower <= normalizedUpper\n ? [normalizedLower, normalizedUpper]\n : [normalizedUpper, normalizedLower];\n }\n\n private normalizeValue(\n value: unknown,\n min = this.safeMin(),\n max = this.safeMax(),\n step = this.safeStep()\n ): number {\n const numeric = this.coerceNumber(value, min);\n const clamped = this.clamp(numeric, min, max);\n const steps = Math.round((clamped - min) / step);\n const stepped = min + steps * step;\n const precision = this.stepPrecision(step);\n\n return this.clamp(Number(stepped.toFixed(precision)), min, max);\n }\n\n private toPercent(value: number): number {\n const min = this.safeMin();\n const max = this.safeMax();\n\n return ((this.clamp(value, min, max) - min) / (max - min)) * 100;\n }\n\n private coerceNumber(value: unknown, fallback: number): number {\n const numeric = Number(value);\n\n return Number.isFinite(numeric) ? numeric : fallback;\n }\n\n private clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n }\n\n private stepPrecision(step: number): number {\n const [, decimals = ''] = String(step).split('.');\n\n return decimals.length;\n }\n\n private trimValue(value: number): string {\n return Number.isInteger(value)\n ? String(value)\n : String(Number(value.toFixed(4)));\n }\n}\n","<div\n class=\"av-slider\"\n [class.av-slider--disabled]=\"isDisabled()\"\n [ngStyle]=\"themeVars()\"\n>\n @if (label() || showValue()) {\n <div class=\"av-slider__header\">\n @if (label()) {\n <label class=\"av-slider__label\">{{ label() }}</label>\n }\n\n @if (showValue()) {\n <span class=\"av-slider__value\">{{ displayValue() }}</span>\n }\n </div>\n }\n\n <div class=\"av-slider__track\" (pointerdown)=\"onTrackPointerDown($event)\">\n <span class=\"av-slider__rail\"></span>\n <span\n class=\"av-slider__fill\"\n [style.left.%]=\"fillLeft()\"\n [style.width.%]=\"fillWidth()\"\n ></span>\n\n <input\n class=\"av-slider__native av-slider__native--lower\"\n type=\"range\"\n [attr.aria-label]=\"range() ? lowerAriaLabel() : ariaLabel()\"\n [attr.aria-valuetext]=\"formatValue(lowerValue())\"\n [disabled]=\"isDisabled()\"\n [max]=\"safeMax()\"\n [min]=\"safeMin()\"\n [step]=\"safeStep()\"\n [value]=\"lowerValue()\"\n (blur)=\"markTouched()\"\n (change)=\"markTouched()\"\n (focus)=\"activeThumb.set('lower')\"\n (input)=\"onInput('lower', $event)\"\n />\n\n @if (range()) {\n <input\n class=\"av-slider__native av-slider__native--upper\"\n type=\"range\"\n [attr.aria-label]=\"upperAriaLabel()\"\n [attr.aria-valuetext]=\"formatValue(upperValue())\"\n [disabled]=\"isDisabled()\"\n [max]=\"safeMax()\"\n [min]=\"safeMin()\"\n [step]=\"safeStep()\"\n [value]=\"upperValue()\"\n (blur)=\"markTouched()\"\n (change)=\"markTouched()\"\n (focus)=\"activeThumb.set('upper')\"\n (input)=\"onInput('upper', $event)\"\n />\n }\n\n <span\n class=\"av-slider__thumb av-slider__thumb--lower\"\n [class.av-slider__thumb--active]=\"activeThumb() === 'lower'\"\n [style.left.%]=\"lowerPercent()\"\n >\n @if (thumbLabel()) {\n <span class=\"av-slider__bubble\">{{ formatValue(lowerValue()) }}</span>\n }\n </span>\n\n @if (range()) {\n <span\n class=\"av-slider__thumb av-slider__thumb--upper\"\n [class.av-slider__thumb--active]=\"activeThumb() === 'upper'\"\n [style.left.%]=\"upperPercent()\"\n >\n @if (thumbLabel()) {\n <span class=\"av-slider__bubble\">{{ formatValue(upperValue()) }}</span>\n }\n </span>\n }\n </div>\n</div>\n","import {\n Component,\n Input,\n Self,\n Optional,\n ElementRef,\n ViewChild,\n AfterViewInit,\n input,\n inject\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n FormsModule\n} from '@angular/forms';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\n\n@Component({\n selector: 'av-input',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, FormsModule, AvIcon],\n templateUrl: './av-input.component.html',\n styleUrls: ['./av-input.component.css'],\n})\nexport class AvInput implements ControlValueAccessor, AfterViewInit {\n private readonly config = inject(VISUALS_CONFIG);\n\n placeholder = input<string>('');\n type = input<string>('text');\n label = input<string>();\n icon = input<string>();\n loading = input<boolean>(false);\n autoFocus = input<boolean>(false);\n loadingIcon = input<string>('blocks-shuffle-3');\n variant = input<string>(this.config.theme.defaultVariant);\n rounded = input<number | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\">(\"md\");\n\n errorMessage = input<string>('');\n\n @ViewChild('inputRef') inputEl!: ElementRef<HTMLInputElement>;\n\n value: any = '';\n disabled: boolean = false;\n\n // Funções de callback registradas pelo Angular Forms\n onChange: any = () => { };\n onTouched: any = () => { };\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngAfterViewInit(): void {\n if (this.autoFocus() && this.inputEl) {\n setTimeout(() => this.inputEl.nativeElement.focus(), 0);\n }\n }\n\n get controlClasses(): string {\n return [\n this.isInvalid ? 'av-input__control--invalid' : '',\n ].filter(Boolean).join(' ');\n }\n\n get isInvalid(): boolean {\n return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched));\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.onChange(this.value);\n }\n}\n","<div class=\"av-input\"\n[style.--av-input-accent]=\"`var(--av-${variant()}-500)`\"\n[style.--av-input-accent-dark]=\"`var(--av-${variant()}-400)`\"\n>\n @if (label()) {\n <label class=\"av-input__label\">\n {{ label() }}\n </label>\n }\n\n <div class=\"av-input__field\">\n @if (icon() || loading()) {\n <div class=\"av-input__icon\">\n <span av-icon [name]=\"loading()? loadingIcon()!: icon()!\"></span>\n </div>\n }\n\n <input\n #inputRef\n [type]=\"type()\"\n [value]=\"value\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\"\n class=\"av-input__control\"\n [class.av-input__control--with-icon]=\"icon()\"\n [class.av-input__control--without-icon]=\"!icon()\"\n [ngClass]=\"controlClasses\"\n />\n </div>\n\n @if (isInvalid || errorMessage()) {\n <span class=\"av-input__error\">\n {{ errorMessage() || 'Campo inválido' }}\n </span>\n }\n</div>\n","import {\n Component,\n ElementRef,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\nimport { AvInput } from '../av-input/av-input.component';\n\n@Component({\n selector: 'av-select',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, FormsModule, OverlayModule, AvIcon, AvInput],\n styleUrls: ['./av-select.component.css'],\n templateUrl: './av-select.component.html',\n})\nexport class AvSelect implements ControlValueAccessor {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n data = input.required<any[]>();\n\n placeholder = input<string>('Selecione uma opção');\n labelKey = input<string>('label');\n labelFormat = input<string>('');\n valueKey = input<string>('value');\n label = input<string>('');\n icon = input<string>('');\n searchPlaceholder = input<string>('Pesquisar...');\n searchable = input<boolean>(true);\n loading = input<boolean>(false);\n loadingIcon = input<string>('blocks-shuffle-3');\n variant = input<string>(this.config.theme.defaultVariant);\n rounded = input<number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full'>('md');\n errorMessage = input<string>('');\n value = input<any>(null);\n onSearch = input<(searchQuery: string) => void>();\n valueChange = output<any>();\n\n @ViewChild('triggerEl') triggerEl!: ElementRef<HTMLDivElement>;\n\n isOpen = signal<boolean>(false);\n searchTerm = signal<string>('');\n _value = signal<any>(null);\n disabled = signal<boolean>(false);\n\n onChange: any = () => { };\n onTouched: any = () => { };\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n\n effect(() => {\n this._value.set(this.value());\n });\n }\n\n get roundedStyle(): string {\n if (typeof this.rounded() === 'string') {\n return `var(--av-radius-${this.rounded()})`;\n }\n\n return `${this.rounded()}px`;\n }\n\n get themeVars(): Record<string, string> {\n const isDark = this.themeService.dark();\n const variant = this.variant();\n const accent = `var(--av-${variant}-${isDark ? 400 : 500})`;\n\n return {\n // Base\n '--av-select-color': 'var(--av-color-text)',\n\n '--av-select-muted-color': 'var(--av-color-text-subtle)',\n\n // Trigger\n '--av-select-trigger-bg': 'var(--av-color-surface)',\n\n '--av-select-trigger-border': 'var(--av-color-border)',\n\n '--av-select-trigger-hover-border':\n isDark\n ? `var(--av-${variant}-400)`\n : `var(--av-${variant}-400)`,\n\n '--av-select-trigger-focus-border': accent,\n\n // Panel\n '--av-select-panel-bg': 'var(--av-color-surface-raised)',\n\n '--av-select-panel-border': 'var(--av-color-border-soft)',\n\n '--av-select-panel-shadow': 'var(--av-shadow-raised)',\n\n // Search\n '--av-select-search-border': 'var(--av-color-border-soft)',\n\n '--av-select-search-focus-border': accent,\n\n '--av-select-search-color': 'var(--av-color-text)',\n\n // Options\n '--av-select-option-hover-bg':\n isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 12%, transparent)`\n : `var(--av-${variant}-50)`,\n\n '--av-select-option-hover-color':\n isDark\n ? `var(--av-${variant}-100)`\n : `var(--av-${variant}-800)`,\n\n '--av-select-option-selected-bg':\n isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 18%, transparent)`\n : `var(--av-${variant}-100)`,\n\n '--av-select-option-selected-color':\n isDark\n ? `var(--av-${variant}-100)`\n : `var(--av-${variant}-700)`,\n\n '--av-select-option-selected-icon':\n isDark\n ? `var(--av-${variant}-400)`\n : `var(--av-${variant}-600)`,\n\n // Empty\n '--av-select-empty-color': 'var(--av-color-text-subtle)',\n '--av-select-disabled-bg': 'var(--av-color-surface-muted)',\n '--av-select-accent': accent,\n '--av-select-soft':\n isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 18%, transparent)`\n : `var(--av-${variant}-100)`,\n };\n }\n\n filteredData = computed(() => {\n const query = this.searchTerm().toLowerCase().trim();\n const items = this.data() || [];\n\n if (!query || this.onSearch()) return items;\n\n return items.filter((item) => {\n const labelValue = this.getItemLabel(item);\n return String(labelValue).toLowerCase().includes(query);\n });\n });\n\n selectedOption = computed(() => {\n const items = this.data() || [];\n return items.find((item) => this.getItemValue(item) === this._value());\n });\n\n get triggerClasses(): string {\n return [\n this.isOpen() ? 'av-select__trigger--open' : '',\n this.disabled() ? 'av-select__trigger--disabled' : '',\n this.isInvalid ? 'av-select__trigger--invalid' : '',\n ].filter(Boolean).join(' ');\n }\n\n get isInvalid(): boolean {\n return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched));\n }\n\n getItemLabel(item: any): string {\n if (typeof item === 'object' && item !== null) {\n if (!this.labelFormat() || this.labelFormat().trim() === '') {\n return item[this.labelKey()];\n }\n\n let label = this.labelFormat();\n\n Object.keys(item).forEach((key) => {\n label = label.replaceAll(`{${key}}`, item[key] ?? '');\n });\n\n return label;\n }\n\n return item;\n }\n\n getItemValue(item: any): any {\n return typeof item === 'object' && item !== null ? item[this.valueKey()] : item;\n }\n\n isSelected(item: any): boolean {\n return this.getItemValue(item) === this._value();\n }\n\n toggleDropdown(): void {\n if (this.disabled()) return;\n\n this.isOpen.set(!this.isOpen());\n if (!this.isOpen()) {\n this.onTouched();\n }\n }\n\n closeDropdown(): void {\n this.isOpen.set(false);\n this.searchTerm.set('');\n this.onTouched();\n }\n\n selectOption(item: any): void {\n const val = this.getItemValue(item);\n this._value.set(val);\n this.onChange(val);\n this.valueChange.emit(val);\n this.closeDropdown();\n }\n\n handleSearchInput(event: Event): void {\n const query = (event.target as HTMLInputElement).value;\n this.searchTerm.set(query);\n\n if (this.onSearch()) {\n this.onSearch()!(query);\n }\n }\n\n writeValue(value: any): void {\n this._value.set(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<div\n class=\"av-select\"\n [ngStyle]=\"themeVars\"\n>\n @if (label()) {\n <label class=\"av-select__label\">\n {{ label() }}\n </label>\n }\n\n <div\n #triggerEl\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n (click)=\"toggleDropdown()\"\n tabindex=\"0\"\n class=\"av-select__trigger\"\n [style.border-radius]=\"roundedStyle\"\n [class.av-select__trigger--with-icon]=\"icon() || loading()\"\n [class.av-select__trigger--without-icon]=\"!icon() && !loading()\"\n [ngClass]=\"triggerClasses\"\n >\n @if (icon() || loading()) {\n <div class=\"av-select__icon\">\n <span av-icon [name]=\"loading() ? loadingIcon() : icon()!\"></span>\n </div>\n }\n\n <span class=\"av-select__value\" [class.av-select__value--placeholder]=\"!selectedOption()\">\n {{ selectedOption() ? getItemLabel(selectedOption()) : placeholder() }}\n </span>\n\n <div class=\"av-select__chevron\" [class.av-select__chevron--open]=\"isOpen()\">\n <span av-icon name=\"expand_more\"></span>\n </div>\n </div>\n\n @if (isInvalid || errorMessage()) {\n <span class=\"av-select__error\">\n {{ errorMessage() || 'Seleção obrigatória' }}\n </span>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"closeDropdown()\"\n>\n <div\n class=\"av-select__panel\"\n [ngStyle]=\"themeVars\"\n [style.width.px]=\"triggerEl.offsetWidth\"\n [style.border-radius]=\"roundedStyle\"\n >\n @if (searchable()) {\n <div class=\"av-select__search\">\n <av-input\n [autoFocus]=\"true\"\n icon=\"search\"\n type=\"text\"\n [placeholder]=\"searchPlaceholder()\"\n [ngModel]=\"searchTerm()\"\n (input)=\"handleSearchInput($event)\"\n class=\"av-select__search-input\"\n />\n </div>\n }\n\n <ul class=\"av-select__options\">\n @for (item of filteredData(); track getItemValue(item)) {\n <li\n (click)=\"selectOption(item)\"\n class=\"av-select__option\"\n [class.av-select__option--selected]=\"isSelected(item)\"\n >\n <span class=\"av-select__option-label\">{{ getItemLabel(item) }}</span>\n\n @if (isSelected(item)) {\n <span av-icon name=\"check\" class=\"av-select__option-check\"></span>\n }\n </li>\n } @empty {\n <li class=\"av-select__empty\">Nenhuma opção encontrada</li>\n }\n </ul>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { Component, Optional, Self, computed, inject, input, output, signal } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\n\ntype AvRounded = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n@Component({\n selector: 'av-checkbox',\n standalone: true,\n imports: [CommonModule, AvIcon],\n templateUrl: './av-checkbox.component.html',\n styleUrls: ['./av-checkbox.component.css'],\n})\nexport class AvCheckbox implements ControlValueAccessor {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n label = input<string>('');\n icon = input<string>('check');\n variant = input<string>(this.config.theme.defaultVariant);\n ringColor = input<string | undefined>(undefined);\n rounded = input<AvRounded>('md');\n errorMessage = input<string>('');\n\n changed = output<boolean>();\n valueChange = output<boolean>();\n\n value = signal<boolean>(false);\n disabled = signal<boolean>(false);\n\n onChange: (value: boolean) => void = () => { };\n onTouched: () => void = () => { };\n\n readonly activeVariant = computed(() => this.ringColor() || this.variant());\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.activeVariant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-checkbox-accent': `var(--av-${variant}-500)`,\n '--av-checkbox-accent-hover': `var(--av-${variant}-${isDark ? 400 : 600})`,\n '--av-checkbox-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 20%, transparent)`\n : `var(--av-${variant}-50)`,\n };\n });\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get roundedStyle(): string {\n if (typeof this.rounded() === 'string') {\n return `var(--av-radius-${this.rounded()})`;\n }\n\n return `${this.rounded()}px`;\n }\n\n get isInvalid(): boolean {\n return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched));\n }\n\n handleChange(event: Event): void {\n const checked = (event.target as HTMLInputElement).checked;\n\n this.value.set(checked);\n this.onChange(checked);\n this.changed.emit(checked);\n this.valueChange.emit(checked);\n }\n\n writeValue(value: boolean): void {\n this.value.set(!!value);\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<div class=\"av-checkbox\" [ngStyle]=\"themeVars()\">\n <label\n class=\"av-checkbox__label\"\n [class.av-checkbox__label--disabled]=\"disabled()\"\n >\n <input\n type=\"checkbox\"\n class=\"av-checkbox__native\"\n [checked]=\"value()\"\n [disabled]=\"disabled()\"\n (change)=\"handleChange($event)\"\n (blur)=\"onTouched()\"\n />\n\n <span\n class=\"av-checkbox__box\"\n [class.av-checkbox__box--checked]=\"value()\"\n [class.av-checkbox__box--invalid]=\"isInvalid\"\n [style.border-radius]=\"roundedStyle\"\n >\n @if (value()) {\n <span av-icon [name]=\"icon()\" class=\"av-checkbox__icon\"></span>\n }\n </span>\n\n @if (label()) {\n <span class=\"av-checkbox__text\">\n {{ label() }}\n </span>\n }\n </label>\n\n @if (isInvalid || errorMessage()) {\n <span class=\"av-checkbox__error\">\n {{ errorMessage() || 'Campo obrigatório' }}\n </span>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Optional,\n Self,\n ViewChild,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\n\ntype AvRounded = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n@Component({\n selector: 'av-currency-input',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './av-currency-input.component.html',\n styleUrls: ['./av-currency-input.component.css'],\n})\nexport class AvCurrencyInput implements ControlValueAccessor, AfterViewInit {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n label = input<string>('');\n currencySymbol = input<string>('R$');\n locale = input<string>('pt-BR');\n currencyCode = input<string>('BRL');\n placeholder = input<string>('0,00');\n variant = input<string>(this.config.theme.defaultVariant);\n ringColor = input<string | undefined>(undefined);\n rounded = input<AvRounded>('md');\n autoFocus = input<boolean>(false);\n errorMessage = input<string>('');\n\n @ViewChild('inputRef') inputEl!: ElementRef<HTMLInputElement>;\n\n formattedValue = signal<string>('');\n rawValue = signal<number | null>(null);\n disabled = signal<boolean>(false);\n\n onChange: (value: number | null) => void = () => { };\n onTouched: () => void = () => { };\n\n readonly activeVariant = computed(() => this.ringColor() || this.variant());\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.activeVariant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-currency-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-currency-symbol-bg': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 12%, transparent)`\n : `var(--av-${variant}-50)`,\n };\n });\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngAfterViewInit(): void {\n if (this.autoFocus() && this.inputEl) {\n setTimeout(() => this.inputEl.nativeElement.focus(), 0);\n }\n }\n\n get roundedStyle(): string {\n if (typeof this.rounded() === 'string') {\n return `var(--av-radius-${this.rounded()})`;\n }\n\n return `${this.rounded()}px`;\n }\n\n get isInvalid(): boolean {\n return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched));\n }\n\n private formatCurrency(value: number | null): string {\n if (value === null || Number.isNaN(value)) return '';\n\n return new Intl.NumberFormat(this.locale(), {\n style: 'decimal',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(value);\n }\n\n onInput(event: Event): void {\n const inputNode = event.target as HTMLInputElement;\n const digits = inputNode.value.replace(/\\D/g, '');\n\n if (!digits) {\n this.rawValue.set(null);\n this.formattedValue.set('');\n this.onChange(null);\n return;\n }\n\n const numericValue = Number(digits) / 100;\n\n this.rawValue.set(numericValue);\n this.formattedValue.set(this.formatCurrency(numericValue));\n inputNode.value = this.formattedValue();\n this.onChange(numericValue);\n }\n\n handleBlur(): void {\n this.formattedValue.set(this.formatCurrency(this.rawValue()));\n this.onTouched();\n }\n\n writeValue(value: number | string | null): void {\n const numericValue = typeof value === 'number'\n ? value\n : typeof value === 'string' && value.trim() !== ''\n ? Number(value)\n : null;\n\n const normalizedValue = numericValue !== null && !Number.isNaN(numericValue)\n ? numericValue\n : null;\n\n this.rawValue.set(normalizedValue);\n this.formattedValue.set(this.formatCurrency(normalizedValue));\n }\n\n registerOnChange(fn: (value: number | null) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<div class=\"av-currency-input\" [ngStyle]=\"themeVars()\">\n @if (label()) {\n <label class=\"av-currency-input__label\">\n {{ label() }}\n </label>\n }\n\n <div class=\"av-currency-input__field\">\n @if (currencySymbol()) {\n <div class=\"av-currency-input__symbol\">\n {{ currencySymbol() }}\n </div>\n }\n\n <input\n #inputRef\n type=\"text\"\n inputmode=\"decimal\"\n [value]=\"formattedValue()\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n (input)=\"onInput($event)\"\n (blur)=\"handleBlur()\"\n class=\"av-currency-input__control\"\n [class.av-currency-input__control--with-symbol]=\"currencySymbol()\"\n [class.av-currency-input__control--without-symbol]=\"!currencySymbol()\"\n [class.av-currency-input__control--invalid]=\"isInvalid\"\n [style.border-radius]=\"roundedStyle\"\n />\n </div>\n\n @if (isInvalid || errorMessage()) {\n <span class=\"av-currency-input__error\">\n {{ errorMessage() || 'Valor inválido' }}\n </span>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n Component,\n ElementRef,\n Optional,\n Self,\n ViewChild,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\n\nexport type DatePickerMode = 'date' | 'time' | 'datetime';\n\ntype AvRounded = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n@Component({\n selector: 'av-date-time-picker, av-date-picker',\n standalone: true,\n imports: [CommonModule, OverlayModule, AvIcon],\n templateUrl: './av-date-time-picker.component.html',\n styleUrls: ['./av-date-time-picker.component.css'],\n})\nexport class AvDateTimePicker implements ControlValueAccessor {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n mode = input<DatePickerMode>('datetime');\n label = input<string>('');\n placeholder = input<string>('Selecione...');\n locale = input<string>('pt-BR');\n icon = input<string>('');\n variant = input<string>(this.config.theme.defaultVariant);\n ringColor = input<string | undefined>(undefined);\n rounded = input<AvRounded>('md');\n errorMessage = input<string>('');\n\n @ViewChild('triggerEl') triggerEl!: ElementRef<HTMLButtonElement>;\n\n isOpen = signal<boolean>(false);\n disabled = signal<boolean>(false);\n selectedDate = signal<Date | null>(null);\n viewDate = signal<Date>(new Date());\n activeTab = signal<'date' | 'time'>('date');\n hours = signal<number>(new Date().getHours());\n minutes = signal<number>(0);\n\n readonly weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'];\n readonly hourOptions = Array.from({ length: 24 }, (_, index) => index);\n readonly minuteOptions = Array.from({ length: 12 }, (_, index) => index * 5);\n\n onChange: (value: string | null) => void = () => { };\n onTouched: () => void = () => { };\n\n readonly activeVariant = computed(() => this.ringColor() || this.variant());\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.activeVariant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-date-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-date-accent-strong': `var(--av-${variant}-${isDark ? 300 : 600})`,\n '--av-date-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 16%, transparent)`\n : `var(--av-${variant}-50)`,\n };\n });\n\n calendarDays = computed(() => {\n const year = this.viewDate().getFullYear();\n const month = this.viewDate().getMonth();\n const firstDayOfMonth = new Date(year, month, 1).getDay();\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n const days: (Date | null)[] = [];\n\n for (let i = 0; i < firstDayOfMonth; i++) {\n days.push(null);\n }\n\n for (let day = 1; day <= daysInMonth; day++) {\n days.push(new Date(year, month, day));\n }\n\n return days;\n });\n\n monthLabel = computed(() => {\n return new Intl.DateTimeFormat(this.locale(), {\n month: 'long',\n year: 'numeric',\n }).format(this.viewDate());\n });\n\n displayValue = computed(() => {\n const date = this.selectedDate();\n if (!date) return '';\n\n const time = `${String(this.hours()).padStart(2, '0')}:${String(this.minutes()).padStart(2, '0')}`;\n\n if (this.mode() === 'date') {\n return date.toLocaleDateString(this.locale());\n }\n\n if (this.mode() === 'time') {\n return time;\n }\n\n return `${date.toLocaleDateString(this.locale())} ${time}`;\n });\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get roundedStyle(): string {\n if (typeof this.rounded() === 'string') {\n return `var(--av-radius-${this.rounded()})`;\n }\n\n return `${this.rounded()}px`;\n }\n\n get defaultIcon(): string {\n if (this.icon()) return this.icon();\n return this.mode() === 'time' ? 'schedule' : 'calendar_today';\n }\n\n get isInvalid(): boolean {\n return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched));\n }\n\n toggleDropdown(): void {\n if (this.disabled()) return;\n\n this.isOpen.set(!this.isOpen());\n\n if (this.isOpen()) {\n this.activeTab.set(this.mode() === 'time' ? 'time' : 'date');\n } else {\n this.onTouched();\n }\n }\n\n closeDropdown(): void {\n this.isOpen.set(false);\n this.onTouched();\n }\n\n changeMonth(offset: number): void {\n const current = this.viewDate();\n this.viewDate.set(new Date(current.getFullYear(), current.getMonth() + offset, 1));\n }\n\n selectDay(day: Date | null): void {\n if (!day) return;\n\n const updated = new Date(day.getFullYear(), day.getMonth(), day.getDate(), this.hours(), this.minutes());\n this.selectedDate.set(updated);\n this.emitValue(updated);\n\n if (this.mode() === 'datetime') {\n this.activeTab.set('time');\n return;\n }\n\n if (this.mode() === 'date') {\n this.closeDropdown();\n }\n }\n\n selectHour(hour: number): void {\n this.hours.set(hour);\n this.updateTimeInSelectedDate();\n }\n\n selectMinute(minute: number): void {\n this.minutes.set(minute);\n this.updateTimeInSelectedDate();\n }\n\n confirmSelection(): void {\n if (!this.selectedDate()) {\n this.updateTimeInSelectedDate();\n }\n\n this.closeDropdown();\n }\n\n updateTimeInSelectedDate(): void {\n const current = this.selectedDate() || new Date();\n const updated = new Date(\n current.getFullYear(),\n current.getMonth(),\n current.getDate(),\n this.hours(),\n this.minutes(),\n );\n\n this.selectedDate.set(updated);\n this.viewDate.set(updated);\n this.emitValue(updated);\n }\n\n isDaySelected(day: Date | null): boolean {\n if (!day || !this.selectedDate()) return false;\n\n const selected = this.selectedDate()!;\n return day.getDate() === selected.getDate()\n && day.getMonth() === selected.getMonth()\n && day.getFullYear() === selected.getFullYear();\n }\n\n private emitValue(date: Date): void {\n this.onChange(date.toISOString());\n }\n\n writeValue(value: string | Date | null): void {\n if (!value) {\n this.selectedDate.set(null);\n return;\n }\n\n const parsedDate = value instanceof Date ? value : new Date(value);\n\n if (Number.isNaN(parsedDate.getTime())) {\n this.selectedDate.set(null);\n return;\n }\n\n this.selectedDate.set(parsedDate);\n this.viewDate.set(parsedDate);\n this.hours.set(parsedDate.getHours());\n this.minutes.set(parsedDate.getMinutes());\n }\n\n registerOnChange(fn: (value: string | null) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<div class=\"av-date-picker\" [ngStyle]=\"themeVars()\">\n @if (label()) {\n <label class=\"av-date-picker__label\">{{ label() }}</label>\n }\n\n <button\n #triggerEl\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n type=\"button\"\n (click)=\"toggleDropdown()\"\n class=\"av-date-picker__trigger\"\n [class.av-date-picker__trigger--open]=\"isOpen()\"\n [class.av-date-picker__trigger--disabled]=\"disabled()\"\n [class.av-date-picker__trigger--invalid]=\"isInvalid\"\n [disabled]=\"disabled()\"\n [style.border-radius]=\"roundedStyle\"\n >\n <span class=\"av-date-picker__trigger-icon\">\n <span av-icon [name]=\"defaultIcon\"></span>\n </span>\n\n <span class=\"av-date-picker__trigger-value\" [class.av-date-picker__trigger-value--placeholder]=\"!selectedDate()\">\n {{ displayValue() || placeholder() }}\n </span>\n </button>\n\n @if (isInvalid || errorMessage()) {\n <span class=\"av-date-picker__error\">\n {{ errorMessage() || 'Data/Hora inválida' }}\n </span>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"closeDropdown()\"\n>\n <div\n class=\"av-date-picker__panel\"\n [ngStyle]=\"themeVars()\"\n [style.border-radius]=\"roundedStyle\"\n >\n @if (mode() === 'datetime') {\n <div class=\"av-date-picker__tabs\">\n <button\n type=\"button\"\n (click)=\"activeTab.set('date')\"\n class=\"av-date-picker__tab\"\n [class.av-date-picker__tab--active]=\"activeTab() === 'date'\"\n >\n Data\n </button>\n <button\n type=\"button\"\n (click)=\"activeTab.set('time')\"\n class=\"av-date-picker__tab\"\n [class.av-date-picker__tab--active]=\"activeTab() === 'time'\"\n >\n Hora\n </button>\n </div>\n }\n\n @if (activeTab() === 'date') {\n <div class=\"av-date-picker__calendar\">\n <div class=\"av-date-picker__month-nav\">\n <button\n type=\"button\"\n (click)=\"changeMonth(-1)\"\n class=\"av-date-picker__nav-button\"\n aria-label=\"Mês anterior\"\n >\n <span av-icon name=\"chevron_left\"></span>\n </button>\n <span class=\"av-date-picker__month-label\">\n {{ monthLabel() }}\n </span>\n <button\n type=\"button\"\n (click)=\"changeMonth(1)\"\n class=\"av-date-picker__nav-button\"\n aria-label=\"Próximo mês\"\n >\n <span av-icon name=\"chevron_right\"></span>\n </button>\n </div>\n\n <div class=\"av-date-picker__weekdays\">\n @for (day of weekDays; track day) {\n <span class=\"av-date-picker__weekday\">{{ day }}</span>\n }\n </div>\n\n <div class=\"av-date-picker__days\">\n @for (day of calendarDays(); track $index) {\n @if (day) {\n <button\n type=\"button\"\n (click)=\"selectDay(day)\"\n class=\"av-date-picker__day\"\n [class.av-date-picker__day--selected]=\"isDaySelected(day)\"\n >\n {{ day.getDate() }}\n </button>\n } @else {\n <span class=\"av-date-picker__day-spacer\"></span>\n }\n }\n </div>\n </div>\n }\n\n @if (activeTab() === 'time') {\n <div class=\"av-date-picker__time\">\n <div class=\"av-date-picker__digital-time\">\n <span>{{ hours().toString().padStart(2, '0') }}</span>\n <span>:</span>\n <span>{{ minutes().toString().padStart(2, '0') }}</span>\n </div>\n\n <div class=\"av-date-picker__time-section\">\n <span class=\"av-date-picker__time-label\">Horas</span>\n <div class=\"av-date-picker__time-grid av-date-picker__time-grid--hours\">\n @for (hour of hourOptions; track hour) {\n <button\n type=\"button\"\n (click)=\"selectHour(hour)\"\n class=\"av-date-picker__time-option\"\n [class.av-date-picker__time-option--selected]=\"hours() === hour\"\n >\n {{ hour.toString().padStart(2, '0') }}\n </button>\n }\n </div>\n </div>\n\n <div class=\"av-date-picker__time-section\">\n <span class=\"av-date-picker__time-label\">Minutos</span>\n <div class=\"av-date-picker__time-grid\">\n @for (minute of minuteOptions; track minute) {\n <button\n type=\"button\"\n (click)=\"selectMinute(minute)\"\n class=\"av-date-picker__time-option\"\n [class.av-date-picker__time-option--selected]=\"minutes() === minute\"\n >\n {{ minute.toString().padStart(2, '0') }}\n </button>\n }\n </div>\n </div>\n\n <button\n type=\"button\"\n (click)=\"confirmSelection()\"\n class=\"av-date-picker__confirm\"\n >\n Confirmar\n </button>\n </div>\n }\n </div>\n</ng-template>\n","import { Component, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'form[av-form]',\n standalone: true,\n styleUrls: ['./av-form.component.css'],\n templateUrl: './av-form.component.html',\n})\nexport class AvForm {\n glass = input<boolean>(false);\n\n @HostBinding('class')\n get elementClasses(): string {\n return ['av-form', this.glass() ? 'av-form--glass' : 'av-form--solid'].join(' ');\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n Component,\n ElementRef,\n Optional,\n Self,\n ViewChild,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { ThemeService } from '../../../core/services/ThemeService.service';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\n\ntype AvRounded = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n@Component({\n selector: 'av-multiselect, av-multi-select',\n standalone: true,\n imports: [CommonModule, OverlayModule, AvIcon],\n styleUrls: ['./av-multi-select.component.css'],\n templateUrl: './av-multi-select.component.html',\n})\nexport class AvMultiSelect implements ControlValueAccessor {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n data = input.required<any[]>();\n placeholder = input<string>('Selecione as opções');\n labelKey = input<string>('label');\n labelFormat = input<string>('');\n valueKey = input<string>('value');\n label = input<string>('');\n icon = input<string>('');\n searchPlaceholder = input<string>('Pesquisar...');\n searchable = input<boolean>(true);\n variant = input<string>(this.config.theme.defaultVariant);\n ringColor = input<string | undefined>(undefined);\n rounded = input<AvRounded>('md');\n errorMessage = input<string>('');\n onSearch = input<((searchQuery: string) => void) | undefined>();\n valueChange = output<any[]>();\n\n @ViewChild('triggerEl') triggerEl!: ElementRef<HTMLDivElement>;\n\n isOpen = signal<boolean>(false);\n searchTerm = signal<string>('');\n value = signal<any[]>([]);\n disabled = signal<boolean>(false);\n\n onChange: (value: any[]) => void = () => { };\n onTouched: () => void = () => { };\n\n readonly activeVariant = computed(() => this.ringColor() || this.variant());\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.activeVariant();\n const isDark = this.themeService.dark();\n const accent = `var(--av-${variant}-${isDark ? 400 : 500})`;\n\n return {\n '--av-multi-accent': accent,\n '--av-multi-accent-strong': `var(--av-${variant}-${isDark ? 300 : 600})`,\n '--av-multi-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 16%, transparent)`\n : `var(--av-${variant}-50)`,\n '--av-multi-selected-bg': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 20%, transparent)`\n : `var(--av-${variant}-100)`,\n '--av-multi-selected-color': isDark\n ? `var(--av-${variant}-100)`\n : `var(--av-${variant}-800)`,\n };\n });\n\n filteredData = computed(() => {\n const query = this.searchTerm().toLowerCase().trim();\n const items = this.data() || [];\n\n if (!query || this.onSearch()) return items;\n\n return items.filter((item) => {\n const labelValue = this.getItemLabel(item);\n return String(labelValue).toLowerCase().includes(query);\n });\n });\n\n selectedOptions = computed(() => {\n const items = this.data() || [];\n const currentValues = this.value() || [];\n\n return items.filter((item) => currentValues.includes(this.getItemValue(item)));\n });\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get roundedStyle(): string {\n if (typeof this.rounded() === 'string') {\n return `var(--av-radius-${this.rounded()})`;\n }\n\n return `${this.rounded()}px`;\n }\n\n get triggerClasses(): string {\n return [\n this.isOpen() ? 'av-multi-select__trigger--open' : '',\n this.disabled() ? 'av-multi-select__trigger--disabled' : '',\n this.isInvalid ? 'av-multi-select__trigger--invalid' : '',\n ].filter(Boolean).join(' ');\n }\n\n get isInvalid(): boolean {\n return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched));\n }\n\n getItemLabel(item: any): string {\n if (typeof item === 'object' && item !== null) {\n if (!this.labelFormat() || this.labelFormat().trim() === '') {\n return item[this.labelKey()];\n }\n\n let label = this.labelFormat();\n\n Object.keys(item).forEach((key) => {\n label = label.replaceAll(`{${key}}`, item[key] ?? '');\n });\n\n return label;\n }\n\n return item;\n }\n\n getItemValue(item: any): any {\n return typeof item === 'object' && item !== null ? item[this.valueKey()] : item;\n }\n\n isSelected(item: any): boolean {\n return (this.value() || []).includes(this.getItemValue(item));\n }\n\n toggleDropdown(): void {\n if (this.disabled()) return;\n\n this.isOpen.set(!this.isOpen());\n\n if (!this.isOpen()) {\n this.onTouched();\n }\n }\n\n closeDropdown(): void {\n this.isOpen.set(false);\n this.searchTerm.set('');\n this.onTouched();\n }\n\n toggleOption(item: any): void {\n const itemValue = this.getItemValue(item);\n const currentValues = [...(this.value() || [])];\n const index = currentValues.indexOf(itemValue);\n\n if (index > -1) {\n currentValues.splice(index, 1);\n } else {\n currentValues.push(itemValue);\n }\n\n this.value.set(currentValues);\n this.onChange(currentValues);\n this.valueChange.emit(currentValues);\n }\n\n removeOption(event: MouseEvent, item: any): void {\n event.stopPropagation();\n this.toggleOption(item);\n }\n\n handleSearchInput(event: Event): void {\n const query = (event.target as HTMLInputElement).value;\n this.searchTerm.set(query);\n\n if (this.onSearch()) {\n this.onSearch()!(query);\n }\n }\n\n writeValue(value: any[]): void {\n this.value.set(Array.isArray(value) ? value : []);\n }\n\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<div class=\"av-multi-select\" [ngStyle]=\"themeVars()\">\n @if (label()) {\n <label class=\"av-multi-select__label\">\n {{ label() }}\n </label>\n }\n\n <div\n #triggerEl\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n (click)=\"toggleDropdown()\"\n tabindex=\"0\"\n role=\"combobox\"\n class=\"av-multi-select__trigger\"\n [style.border-radius]=\"roundedStyle\"\n [class.av-multi-select__trigger--with-icon]=\"icon()\"\n [class.av-multi-select__trigger--without-icon]=\"!icon()\"\n [ngClass]=\"triggerClasses\"\n >\n @if (icon()) {\n <div class=\"av-multi-select__icon\">\n <span av-icon [name]=\"icon()\"></span>\n </div>\n }\n\n <div class=\"av-multi-select__chips\">\n @for (item of selectedOptions(); track getItemValue(item)) {\n <span class=\"av-multi-select__chip\">\n {{ getItemLabel(item) }}\n <button\n type=\"button\"\n (click)=\"removeOption($event, item)\"\n class=\"av-multi-select__chip-remove\"\n aria-label=\"Remover opção\"\n >\n <span av-icon name=\"close\" class=\"av-multi-select__chip-remove-icon\"></span>\n </button>\n </span>\n } @empty {\n <span class=\"av-multi-select__placeholder\">\n {{ placeholder() }}\n </span>\n }\n </div>\n\n <div\n class=\"av-multi-select__chevron\"\n [class.av-multi-select__chevron--open]=\"isOpen()\"\n >\n <span av-icon name=\"expand_more\"></span>\n </div>\n </div>\n\n @if (isInvalid || errorMessage()) {\n <span class=\"av-multi-select__error\">\n {{ errorMessage() || 'Selecione ao menos uma opção' }}\n </span>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"closeDropdown()\"\n>\n <div\n class=\"av-multi-select__panel\"\n [ngStyle]=\"themeVars()\"\n [style.width.px]=\"triggerEl.offsetWidth\"\n [style.border-radius]=\"roundedStyle\"\n >\n @if (searchable()) {\n <div class=\"av-multi-select__search\">\n <span av-icon name=\"search\" class=\"av-multi-select__search-icon\"></span>\n <input\n type=\"text\"\n [placeholder]=\"searchPlaceholder()\"\n [value]=\"searchTerm()\"\n (input)=\"handleSearchInput($event)\"\n class=\"av-multi-select__search-input\"\n />\n </div>\n }\n\n <ul class=\"av-multi-select__options\">\n @for (item of filteredData(); track getItemValue(item)) {\n <li\n (click)=\"toggleOption(item)\"\n class=\"av-multi-select__option\"\n [class.av-multi-select__option--selected]=\"isSelected(item)\"\n >\n <span class=\"av-multi-select__option-label\" [class.av-multi-select__option-label--selected]=\"isSelected(item)\">\n {{ getItemLabel(item) }}\n </span>\n\n <div\n class=\"av-multi-select__option-check\"\n [class.av-multi-select__option-check--selected]=\"isSelected(item)\"\n >\n @if (isSelected(item)) {\n <span av-icon name=\"check\" class=\"av-multi-select__option-check-icon\"></span>\n }\n </div>\n </li>\n } @empty {\n <li class=\"av-multi-select__empty\">Nenhuma opção encontrada</li>\n }\n </ul>\n </div>\n</ng-template>\n","import { Component, computed, input } from '@angular/core';\n\nexport interface AvGridColumns {\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n '2xl'?: number;\n}\n\n@Component({\n selector: 'div[av-grid]',\n standalone: true,\n templateUrl: './grid.component.html',\n styleUrl: './grid.component.css',\n host: {\n '[class.av-grid--empty]': 'empty()',\n '[style.--av-grid-cols-xs]': 'gridVars()[\"--av-grid-cols-xs\"]',\n '[style.--av-grid-cols-sm]': 'gridVars()[\"--av-grid-cols-sm\"]',\n '[style.--av-grid-cols-md]': 'gridVars()[\"--av-grid-cols-md\"]',\n '[style.--av-grid-cols-lg]': 'gridVars()[\"--av-grid-cols-lg\"]',\n '[style.--av-grid-cols-xl]': 'gridVars()[\"--av-grid-cols-xl\"]',\n '[style.--av-grid-cols-2xl]': 'gridVars()[\"--av-grid-cols-2xl\"]',\n '[style.--av-grid-gap]': 'gap() + \"rem\"',\n },\n})\nexport class AvGrid {\n cols = input<AvGridColumns>({\n xs: 1,\n sm: 2,\n md: 3,\n lg: 4,\n xl: 5,\n '2xl': 6,\n });\n empty = input<boolean>(false);\n gap = input<number>(.5);\n\n readonly gridVars = computed(() => {\n const cols = this.cols();\n const xs = this.normalize(cols.xs, 1);\n const sm = this.normalize(cols.sm, xs);\n const md = this.normalize(cols.md, sm);\n const lg = this.normalize(cols.lg, md);\n const xl = this.normalize(cols.xl, lg);\n const xxl = this.normalize(cols['2xl'], xl);\n\n return {\n '--av-grid-cols-xs': String(xs),\n '--av-grid-cols-sm': String(sm),\n '--av-grid-cols-md': String(md),\n '--av-grid-cols-lg': String(lg),\n '--av-grid-cols-xl': String(xl),\n '--av-grid-cols-2xl': String(xxl),\n };\n });\n\n private normalize(value: number | undefined, fallback: number): number {\n if (!value || value < 1) return fallback;\n return Math.floor(value);\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { AvIcon } from '../av-icon/av-icon.component';\n\n@Component({\n imports: [AvIcon],\n selector: 'button[av-button], a[av-button]',\n styleUrl: './av-button.component.css',\n templateUrl: './av-button.component.html',\n})\nexport class AvButton {\n private readonly config = inject(VISUALS_CONFIG);\n\n icon = input<string>();\n loadingIcon = input<string>('blocks-shuffle-3');\n loading = input<boolean>(false)\n variant = input<string>(this.config.theme.defaultVariant);\n rounded = input<number | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\">(\"md\");\n\n @HostBinding('style.border-radius')\n get roundedClass(): string {\n if (typeof this.rounded() === \"string\") {\n return `var(--av-radius-${this.rounded()})`;\n }\n return `${this.rounded()}px`\n }\n\n @HostBinding('style.--av-button-light-bg')\n get lightBackground(): string {\n return `var(--av-${this.variant()}-500)`;\n }\n\n @HostBinding('style.--av-button-light-hover-bg')\n get lightHoverBackground(): string {\n return `var(--av-${this.variant()}-600)`;\n }\n\n @HostBinding('style.--av-button-dark-bg')\n get darkBackground(): string {\n return `var(--av-${this.variant()}-600)`;\n }\n\n @HostBinding('style.--av-button-dark-hover-bg')\n get darkHoverBackground(): string {\n return `var(--av-${this.variant()}-500)`;\n }\n}\n","@if(icon() || loading()) {<span av-icon [name]=\"loading()? loadingIcon()!: icon()!\"></span>}\n<div>\n <ng-content></ng-content>\n</div>\n","import { Component, computed, inject, input, output } from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { AvButton } from '../../base/av-button/av-button.component';\nimport { AvIcon } from '../../base/av-icon/av-icon.component';\n\n@Component({\n selector: 'av-paginator',\n standalone: true,\n imports: [AvButton, AvIcon],\n styleUrls: ['./av-paginator.component.css'],\n templateUrl: './av-paginator.component.html',\n})\nexport class AvPaginator {\n private readonly config = inject(VISUALS_CONFIG);\n\n variant = input<string>(this.config.theme.defaultVariant);\n pageIndex = input.required<number>();\n totalPages = input.required<number>();\n pageChanged = output<number>();\n\n readonly safeTotalPages = computed(() => Math.max(0, this.totalPages()));\n readonly currentPage = computed(() => {\n if (this.safeTotalPages() <= 0) return 0;\n return Math.min(Math.max(this.pageIndex(), 0), this.safeTotalPages() - 1);\n });\n readonly canGoBack = computed(() => this.currentPage() > 0);\n readonly canGoForward = computed(() => this.currentPage() + 1 < this.safeTotalPages());\n\n changePage(page: number): void {\n if (this.safeTotalPages() <= 0) return;\n\n const nextPage = Math.min(Math.max(page, 0), this.safeTotalPages() - 1);\n\n if (nextPage === this.currentPage()) return;\n\n this.pageChanged.emit(nextPage);\n }\n}\n","<nav class=\"av-paginator\" aria-label=\"Paginação\">\n <button\n av-button\n [variant]=\"variant()\"\n type=\"button\"\n (click)=\"changePage(0)\"\n [disabled]=\"!canGoBack()\"\n aria-label=\"Primeira página\"\n >\n <span av-icon name=\"double_arrow_left\"></span>\n </button>\n\n <button\n av-button\n [variant]=\"variant()\"\n type=\"button\"\n (click)=\"changePage(currentPage() - 1)\"\n [disabled]=\"!canGoBack()\"\n aria-label=\"Página anterior\"\n >\n <span av-icon name=\"arrow_left\" size=\"sm\"></span>\n </button>\n\n <span class=\"av-paginator__page\">\n Página {{ safeTotalPages() === 0 ? 0 : currentPage() + 1 }} de {{ safeTotalPages() }}\n </span>\n\n <button\n av-button\n [variant]=\"variant()\"\n type=\"button\"\n (click)=\"changePage(currentPage() + 1)\"\n [disabled]=\"!canGoForward()\"\n aria-label=\"Próxima página\"\n >\n <span av-icon name=\"arrow_right\" size=\"sm\"></span>\n </button>\n\n <button\n av-button\n [variant]=\"variant()\"\n type=\"button\"\n (click)=\"changePage(safeTotalPages() - 1)\"\n [disabled]=\"!canGoForward()\"\n aria-label=\"Última página\"\n >\n <span av-icon name=\"double_arrow_right\"></span>\n </button>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, inject, input } from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../../core/tokens';\nimport { ThemeService } from '../../../../core/services/ThemeService.service';\n\n@Component({\n selector: 'av-progress-bar-circle',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./av-progress-bar-circle.component.css'],\n templateUrl: './av-progress-bar-circle.component.html',\n})\nexport class AvProgressBarCircle {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n value = input.required<number>();\n max = input.required<number>();\n variant = input<string>(this.config.theme.defaultVariant);\n striped = input<boolean>(false);\n showPercent = input<boolean>(true);\n size = input<number>(120);\n strokeWidth = input<number>(12);\n\n private static nextId = 0;\n\n readonly stripeId =\n `av-progress-circle-stripe-${Math.random()}`;\n\n readonly radius = computed(() => 50 - this.strokeWidth() / 2);\n readonly circumference = computed(() => 2 * Math.PI * this.radius());\n\n readonly percentValue = computed(() => {\n if (this.max() <= 0) return 0;\n return Math.min(100, Math.max(0, (this.value() / this.max()) * 100));\n });\n\n readonly percentLabel = computed(() => Math.round(this.percentValue()));\n readonly dashOffset = computed(() => this.circumference() * (1 - this.percentValue() / 100));\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-progress-circle-fill': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-progress-circle-track': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 18%, var(--av-color-surface-muted))`\n : `var(--av-${variant}-100)`,\n };\n });\n}\n","<div\n class=\"av-progress-circle\"\n [ngStyle]=\"themeVars()\"\n [style.width.px]=\"size()\"\n [style.height.px]=\"size()\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percentLabel()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n>\n <svg class=\"av-progress-circle__svg\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n class=\"av-progress-circle__track\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n [attr.r]=\"radius()\"\n [attr.stroke-width]=\"strokeWidth()\"\n ></circle>\n <circle\n class=\"av-progress-circle__fill\"\n [class.av-progress-circle__fill--striped]=\"striped()\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n stroke-linecap=\"round\"\n [attr.r]=\"radius()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-dashoffset]=\"dashOffset()\"\n ></circle>\n </svg>\n\n @if (showPercent()) {\n <span class=\"av-progress-circle__label\"> {{ percentLabel() }}% </span>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, inject, input } from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../../core/tokens';\nimport { ThemeService } from '../../../../core/services/ThemeService.service';\n\n@Component({\n selector: 'av-progress-bar, av-progress-bard',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./av-progress-bar.component.css'],\n templateUrl: './av-progress-bar.component.html',\n})\nexport class AvProgressBar {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n value = input.required<number>();\n max = input.required<number>();\n variant = input<string>(this.config.theme.defaultVariant);\n striped = input<boolean>(false);\n showPercent = input<boolean>(true);\n percentPos = input<'fill' | 'center'>('center');\n gradient = input<boolean>(false);\n from = input<string>('');\n to = input<string>('');\n height = input<number>(20);\n\n readonly percentValue = computed(() => {\n if (this.max() <= 0) return 0;\n return Math.min(100, Math.max(0, (this.value() / this.max()) * 100));\n });\n\n readonly percentLabel = computed(() => Math.round(this.percentValue()));\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n const from = this.from() || `var(--av-${variant}-${isDark ? 400 : 500})`;\n const to = this.to() || `var(--av-${variant}-${isDark ? 500 : 600})`;\n\n return {\n '--av-progress-fill': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-progress-fill-strong': `var(--av-${variant}-${isDark ? 300 : 600})`,\n '--av-progress-gradient-from': from,\n '--av-progress-gradient-to': to,\n '--av-progress-track': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 18%, var(--av-color-surface-muted))`\n : `var(--av-${variant}-100)`,\n };\n });\n}\n","<div\n class=\"av-progress\"\n [ngStyle]=\"themeVars()\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percentLabel()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n>\n <div\n class=\"av-progress__track\"\n [style.height.px]=\"height()\"\n >\n <div\n class=\"av-progress__fill\"\n [class.av-progress__fill--gradient]=\"gradient()\"\n [class.av-progress__fill--striped]=\"striped()\"\n [style.width.%]=\"percentValue()\"\n >\n @if (showPercent() && percentPos() === 'fill') {\n <span class=\"av-progress__text av-progress__text--fill\" [style.font-size.px]=\"height() / 1.5\">\n {{ percentLabel() }}%\n </span>\n }\n </div>\n\n @if (showPercent() && percentPos() === 'center') {\n <span class=\"av-progress__text av-progress__text--center\" [style.font-size.px]=\"height() / 1.5\">\n {{ percentLabel() }}%\n </span>\n }\n </div>\n</div>\n","import { Component, input, signal } from '@angular/core';\n\n@Component({\n selector: 'av-carousel-item',\n standalone: true,\n styleUrls: ['./av-carousel-item.component.css'],\n templateUrl: './av-carousel-item.component.html',\n})\nexport class AvCarouselItem {\n duration = input<number | undefined>(undefined);\n\n isActive = signal<boolean>(false);\n index = signal<number>(0);\n transition = signal<'scroll' | 'fade'>('fade');\n\n get itemClasses(): string {\n return [\n 'av-carousel-item',\n `av-carousel-item--${this.transition()}`,\n this.isActive() ? 'av-carousel-item--active' : 'av-carousel-item--inactive',\n ].join(' ');\n }\n}\n","<div [class]=\"itemClasses\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n OnDestroy,\n ViewChild,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../../core/tokens';\nimport { ThemeService } from '../../../../core/services/ThemeService.service';\nimport { AvIcon } from '../../../base/av-icon/av-icon.component';\nimport { AvCarouselItem } from '../av-carousel-item/av-carousel-item.component';\n\n@Component({\n selector: 'av-carousel',\n standalone: true,\n imports: [CommonModule, AvIcon],\n styleUrls: ['./av-carousel.component.css'],\n templateUrl: './av-carousel.component.html',\n})\nexport class AvCarousel implements OnDestroy {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n private intervalId: ReturnType<typeof setInterval> | null = null;\n\n @ViewChild('content') contentContainer?: ElementRef<HTMLDivElement>;\n\n auto = input<boolean, unknown>(true, { transform: booleanAttribute });\n controls = input<boolean, unknown>(true, { transform: booleanAttribute });\n dots = input<boolean, unknown>(true, { transform: booleanAttribute });\n transition = input<'scroll' | 'fade'>('fade');\n variant = input<string>(this.config.theme.defaultVariant);\n transitionDelay = input<number | undefined>(undefined);\n\n indexChange = output<number>();\n\n items = contentChildren(AvCarouselItem, { descendants: true });\n currentItem = signal<number>(0);\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-carousel-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-carousel-control-bg': isDark ? 'rgb(15 23 42 / .72)' : 'rgb(255 255 255 / .72)',\n '--av-carousel-control-color': 'var(--av-color-text)',\n '--av-carousel-dot-bg': isDark ? 'rgb(148 163 184 / .48)' : 'rgb(15 23 42 / .28)',\n };\n });\n\n readonly canNavigate = computed(() => this.items().length > 1);\n\n constructor() {\n effect((onCleanup) => {\n const itemList = this.items();\n const currentIndex = this.normalizeIndex(this.currentItem());\n const transition = this.transition();\n\n if (currentIndex !== this.currentItem()) {\n this.currentItem.set(currentIndex);\n }\n\n itemList.forEach((item, index) => {\n item.index.set(index);\n item.transition.set(transition);\n item.isActive.set(index === currentIndex);\n });\n\n queueMicrotask(() => this.scrollToCurrent());\n\n if (this.auto() && itemList.length > 1) {\n const activeItem = itemList[currentIndex];\n const delay = activeItem?.duration() ?? this.transitionDelay() ?? 5000;\n\n this.intervalId = setInterval(() => this.next(), delay);\n onCleanup(() => this.clearTimer());\n }\n });\n }\n\n ngOnDestroy(): void {\n this.clearTimer();\n }\n\n next(): void {\n const total = this.items().length;\n if (total <= 0) return;\n\n this.changeTo((this.currentItem() + 1) % total);\n }\n\n previous(): void {\n const total = this.items().length;\n if (total <= 0) return;\n\n this.changeTo((this.currentItem() - 1 + total) % total);\n }\n\n changeTo(index: number): void {\n const nextIndex = this.normalizeIndex(index);\n\n this.currentItem.set(nextIndex);\n this.indexChange.emit(nextIndex);\n }\n\n private normalizeIndex(index: number): number {\n const total = this.items().length;\n if (total <= 0) return 0;\n\n return Math.min(Math.max(index, 0), total - 1);\n }\n\n private scrollToCurrent(): void {\n if (this.transition() !== 'scroll') return;\n\n const container = this.contentContainer?.nativeElement;\n if (!container) return;\n\n container.scrollTo({\n left: container.clientWidth * this.currentItem(),\n behavior: 'smooth',\n });\n }\n\n private clearTimer(): void {\n if (!this.intervalId) return;\n\n clearInterval(this.intervalId);\n this.intervalId = null;\n }\n}\n","<div class=\"av-carousel\" [ngStyle]=\"themeVars()\">\n @if (controls() && canNavigate()) {\n <button\n type=\"button\"\n (click)=\"previous()\"\n class=\"av-carousel__control av-carousel__control--left\"\n aria-label=\"Slide anterior\"\n >\n <span av-icon name=\"chevron_left\" class=\"av-carousel__control-icon\"></span>\n </button>\n\n <button\n type=\"button\"\n (click)=\"next()\"\n class=\"av-carousel__control av-carousel__control--right\"\n aria-label=\"Próximo slide\"\n >\n <span av-icon name=\"chevron_right\" class=\"av-carousel__control-icon\"></span>\n </button>\n }\n\n <div\n #content\n class=\"av-carousel__content\"\n [class.av-carousel__content--scroll]=\"transition() === 'scroll'\"\n [class.av-carousel__content--fade]=\"transition() === 'fade'\"\n >\n <ng-content></ng-content>\n </div>\n\n @if (dots() && canNavigate()) {\n <div class=\"av-carousel__dots-wrap\">\n <div class=\"av-carousel__dots\">\n @for (item of items(); track $index) {\n <button\n type=\"button\"\n (click)=\"changeTo($index)\"\n class=\"av-carousel__dot\"\n [class.av-carousel__dot--active]=\"currentItem() === $index\"\n [attr.aria-label]=\"'Ir para slide ' + ($index + 1)\"\n ></button>\n }\n </div>\n </div>\n }\n</div>\n","import { Component, booleanAttribute, input, signal } from '@angular/core';\n\n@Component({\n selector: 'av-step',\n standalone: true,\n styleUrls: ['./av-step.component.css'],\n templateUrl: './av-step.component.html',\n})\nexport class AvStep {\n title = input.required<string>();\n icon = input<string>('');\n hasError = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n isActive = signal<boolean>(false);\n index = signal<number>(0);\n}\n","<div class=\"av-step\" [class.av-step--hidden]=\"!isActive()\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../../core/tokens';\nimport { ThemeService } from '../../../../core/services/ThemeService.service';\nimport { AvIcon } from '../../../base/av-icon/av-icon.component';\nimport { AvStep } from '../av-step/av-step.component';\n\n@Component({\n selector: 'av-stepper',\n standalone: true,\n imports: [CommonModule, AvIcon],\n styleUrls: ['./av-stepper.component.css'],\n templateUrl: './av-stepper.component.html',\n})\nexport class AvStepper {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n canSetStep = input<boolean, unknown>(false, { transform: booleanAttribute });\n noContent = input<boolean, unknown>(false, { transform: booleanAttribute });\n variant = input<string>(this.config.theme.defaultVariant);\n currentStep = input<number | undefined>(undefined);\n stepChange = output<number>();\n\n items = contentChildren(AvStep, { descendants: true });\n currentItem = signal<number>(0);\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-stepper-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-stepper-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 18%, transparent)`\n : `var(--av-${variant}-50)`,\n '--av-stepper-track': 'var(--av-color-border-soft)',\n };\n });\n\n constructor() {\n effect(() => {\n const selected = this.currentStep();\n\n if (selected !== undefined) {\n this.currentItem.set(this.clampIndex(selected));\n }\n });\n\n effect(() => {\n const stepList = this.items();\n const currentIndex = this.clampIndex(this.currentItem());\n\n if (currentIndex !== this.currentItem()) {\n this.currentItem.set(currentIndex);\n }\n\n stepList.forEach((item, index) => {\n item.index.set(index);\n item.isActive.set(index === currentIndex);\n });\n });\n }\n\n isDone(index: number): boolean {\n return this.currentItem() > index;\n }\n\n isActive(index: number): boolean {\n return this.currentItem() === index;\n }\n\n next(): void {\n this.changeTo(this.currentItem() + 1);\n }\n\n previous(): void {\n this.changeTo(this.currentItem() - 1);\n }\n\n changeTo(index: number): void {\n if (!this.canSetStep() && index !== this.currentItem() + 1 && index !== this.currentItem() - 1) return;\n\n const nextIndex = this.clampIndex(index);\n\n if (nextIndex === this.currentItem()) return;\n\n this.currentItem.set(nextIndex);\n this.stepChange.emit(nextIndex);\n }\n\n private clampIndex(index: number): number {\n const total = this.items().length;\n if (total <= 0) return 0;\n\n return Math.min(Math.max(index, 0), total - 1);\n }\n}\n","<div class=\"av-stepper\" [ngStyle]=\"themeVars()\">\n <div class=\"av-stepper__header\">\n @for (item of items(); track $index) {\n <div\n class=\"av-stepper__item\"\n [class.av-stepper__item--stretch]=\"$index + 1 < items().length\"\n >\n <div class=\"av-stepper__row\">\n <button\n type=\"button\"\n (click)=\"changeTo($index)\"\n class=\"av-stepper__bullet\"\n [class.av-stepper__bullet--clickable]=\"canSetStep()\"\n [class.av-stepper__bullet--active]=\"isActive($index)\"\n [class.av-stepper__bullet--done]=\"isDone($index)\"\n [class.av-stepper__bullet--error]=\"item.hasError()\"\n [disabled]=\"!canSetStep() && !isActive($index)\"\n [attr.aria-current]=\"isActive($index) ? 'step' : null\"\n >\n @if (item.hasError()) {\n <span av-icon name=\"close\" size=\"sm\"></span>\n } @else if (isDone($index)) {\n <span av-icon name=\"check\" size=\"sm\"></span>\n } @else if (item.icon()) {\n <span av-icon [name]=\"item.icon()\" size=\"sm\"></span>\n } @else {\n {{ $index + 1 }}\n }\n </button>\n\n <div\n class=\"av-stepper__line\"\n [class.av-stepper__line--hidden]=\"$index + 1 >= items().length\"\n >\n <div class=\"av-stepper__line-track\">\n <div\n class=\"av-stepper__line-fill\"\n [class.av-stepper__line-fill--complete]=\"isDone($index)\"\n [class.av-stepper__line-fill--error]=\"item.hasError()\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"av-stepper__caption\">\n <span>{{ item.title() }}</span>\n </div>\n </div>\n }\n </div>\n\n <div class=\"av-stepper__content\" [class.av-stepper__content--hidden]=\"noContent()\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, booleanAttribute, input, signal } from '@angular/core';\n\n@Component({\n selector: 'av-tab',\n standalone: true,\n templateUrl: './av-tab.component.html',\n styleUrl: './av-tab.component.css',\n})\nexport class AvTab {\n title = input<string>('');\n label = input<string>('');\n icon = input<string>('');\n disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n isActive = signal<boolean>(false);\n index = signal<number>(0);\n}\n","<div class=\"av-tab\" [class.av-tab--hidden]=\"!isActive()\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, contentChildren, effect, inject, input, output, signal } from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../../core/tokens';\nimport { ThemeService } from '../../../../core/services/ThemeService.service';\nimport { AvIcon } from '../../../base/av-icon/av-icon.component';\nimport { AvTab } from '../av-tab/av-tab.component';\n\n@Component({\n selector: 'av-tabs, av-tab-container',\n standalone: true,\n imports: [CommonModule, AvIcon],\n styleUrls: ['./av-tabs.component.css'],\n templateUrl: './av-tabs.component.html',\n})\nexport class AvTabs {\n private readonly config = inject(VISUALS_CONFIG);\n private readonly themeService = inject(ThemeService);\n\n variant = input<string>(this.config.theme.defaultVariant);\n activeTab = input<number | undefined>(undefined);\n\n tabChange = output<number>();\n activeTabChange = output<number>();\n\n items = contentChildren(AvTab, { descendants: true });\n currentItem = signal<number>(0);\n\n readonly themeVars = computed<Record<string, string>>(() => {\n const variant = this.variant();\n const isDark = this.themeService.dark();\n\n return {\n '--av-tabs-accent': `var(--av-${variant}-${isDark ? 400 : 500})`,\n '--av-tabs-accent-soft': isDark\n ? `color-mix(in srgb, var(--av-${variant}-400) 16%, transparent)`\n : `var(--av-${variant}-50)`,\n };\n });\n\n constructor() {\n effect(() => {\n const selected = this.activeTab();\n\n if (selected !== undefined) {\n this.currentItem.set(this.clampIndex(selected));\n }\n });\n\n effect(() => {\n const tabList = this.items();\n const currentIndex = this.clampIndex(this.currentItem());\n\n if (currentIndex !== this.currentItem()) {\n this.currentItem.set(currentIndex);\n }\n\n tabList.forEach((item, index) => {\n item.index.set(index);\n item.isActive.set(index === currentIndex);\n });\n });\n }\n\n selectTab(index: number, item?: AvTab): void {\n if (item?.disabled()) return;\n\n const nextIndex = this.clampIndex(index);\n this.currentItem.set(nextIndex);\n this.tabChange.emit(nextIndex);\n this.activeTabChange.emit(nextIndex);\n }\n\n labelFor(item: AvTab): string {\n return item.title() || item.label();\n }\n\n private clampIndex(index: number): number {\n const total = this.items().length;\n if (total <= 0) return 0;\n\n return Math.min(Math.max(index, 0), total - 1);\n }\n}\n","<div class=\"av-tabs\" [ngStyle]=\"themeVars()\">\n <div\n class=\"av-tabs__header\"\n role=\"tablist\"\n [style.grid-template-columns]=\"'repeat(' + (items().length || 1) + ', minmax(0, 1fr))'\"\n >\n @for (item of items(); track $index) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"av-tabs__tab\"\n [class.av-tabs__tab--active]=\"currentItem() === $index\"\n [class.av-tabs__tab--inactive]=\"currentItem() !== $index\"\n [class.av-tabs__tab--disabled]=\"item.disabled()\"\n [disabled]=\"item.disabled()\"\n [attr.aria-selected]=\"currentItem() === $index\"\n (click)=\"selectTab($index, item)\"\n >\n @if (item.icon()) {\n <span av-icon [name]=\"item.icon()\" size=\"lg\"></span>\n } @else {\n <span>{{$index}}</span>\n }\n <span class=\"av-tabs__label\">{{ labelFor(item) }}</span>\n </button>\n }\n </div>\n\n <div class=\"av-tabs__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, TemplateRef, computed, contentChild, inject, input, output } from '@angular/core';\nimport { VISUALS_CONFIG } from '../../../core/tokens';\nimport { AvPaginator } from '../av-paginator/av-paginator.component';\nimport { AvSelect } from '../../form/av-select/av-select.component';\n\nexport interface SortEvent {\n field: string;\n order: 'asc' | 'desc';\n}\n\nexport interface PageChangeEvent {\n page: number;\n pageSize: number;\n}\n\n@Component({\n selector: 'av-table',\n standalone: true,\n imports: [CommonModule, AvSelect, AvPaginator],\n templateUrl: './av-table.component.html',\n styleUrls: ['./av-table.component.css'],\n})\nexport class AvTable<T = any> {\n private readonly config = inject(VISUALS_CONFIG);\n\n variant = input<string>(this.config.theme.defaultVariant);\n value = input<T[]>([]);\n emptyMessage = input<string>('Nenhum registro encontrado.');\n\n paginator = input<boolean>(false);\n pageSize = input<number>(25);\n pageIndex = input<number>(0);\n totalRecords = input<number>(0);\n rowsPerPageOptions = input<number[]>([]);\n currentPageLabel = input<string>('Página {currentPage} de {totalPages} · {totalRecords} itens');\n\n sortField = input<string>('');\n sortOrder = input<'asc' | 'desc'>('asc');\n\n onSort = output<SortEvent>();\n onPage = output<PageChangeEvent>();\n\n headerTemplate = contentChild<TemplateRef<any>>('header');\n bodyTemplate = contentChild<TemplateRef<any>>('body');\n\n totalPages = computed(() => {\n const size = this.pageSize();\n const total = this.totalRecords();\n if (!size || size <= 0 || total <= 0) return 0;\n return Math.ceil(total / size);\n });\n\n pageSizeOptions = computed(() => {\n return this.rowsPerPageOptions().map((option) => ({\n label: String(option),\n value: option,\n }));\n });\n\n formattedPageLabel = computed(() => {\n const totalPages = this.totalPages();\n const currentPage = totalPages === 0\n ? 0\n : Math.min(Math.max(this.pageIndex(), 0), totalPages - 1) + 1;\n\n return this.currentPageLabel()\n .replace('{currentPage}', String(currentPage))\n .replace('{totalPages}', String(totalPages))\n .replace('{totalRecords}', String(this.totalRecords()));\n });\n\n sort(field: string): void {\n const newOrder: 'asc' | 'desc' = this.sortField() === field && this.sortOrder() === 'asc'\n ? 'desc'\n : 'asc';\n\n this.onSort.emit({ field, order: newOrder });\n }\n\n changePage(newPage: number): void {\n if (newPage < 0 || newPage >= this.totalPages()) return;\n\n this.onPage.emit({ page: newPage, pageSize: this.pageSize() });\n }\n\n changePageSize(value: number): void {\n const newSize = Number(value);\n if (!Number.isFinite(newSize) || newSize <= 0) return;\n\n this.onPage.emit({ page: 0, pageSize: newSize });\n }\n}\n","<div class=\"av-table\">\n <div class=\"av-table__scroll\">\n <table class=\"av-table__table\">\n @if (headerTemplate()) {\n <thead class=\"av-table__header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()!\"></ng-container>\n </thead>\n }\n\n <tbody class=\"av-table__body\">\n @if (bodyTemplate()) {\n @for (item of value(); track $index) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate()!; context: { $implicit: item, index: $index }\"></ng-container>\n } @empty {\n <tr>\n <td colspan=\"100%\" class=\"av-table__empty\">\n {{ emptyMessage() }}\n </td>\n </tr>\n }\n } @else {\n <tr>\n <td colspan=\"100%\" class=\"av-table__empty\">\n {{ emptyMessage() }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n @if (paginator()) {\n <div class=\"av-table__pagination\">\n @if (currentPageLabel() !== '') {\n <div class=\"av-table__page-label\">\n <span>{{ formattedPageLabel() }}</span>\n </div>\n }\n\n <div class=\"av-table__pagination-controls\">\n @if (rowsPerPageOptions().length > 0) {\n <div class=\"av-table__page-size\">\n <span>Itens por página:</span>\n <av-select\n [data]=\"pageSizeOptions()\"\n [searchable]=\"false\"\n [value]=\"pageSize()\"\n [variant]=\"variant()\"\n (valueChange)=\"changePageSize($event)\"\n />\n </div>\n }\n\n <av-paginator\n [variant]=\"variant()\"\n [pageIndex]=\"pageIndex()\"\n [totalPages]=\"totalPages()\"\n (pageChanged)=\"changePage($event)\"\n />\n </div>\n </div>\n }\n</div>\n","import {\n Component,\n HostBinding,\n inject,\n input\n} from '@angular/core';\n\nimport { VISUALS_CONFIG } from '../../../core/tokens';\n\n@Component({\n selector: 'span[av-badge]',\n styleUrls: ['./av-badge.component.css'],\n templateUrl: './av-badge.component.html',\n})\nexport class AvBadge {\n private readonly config = inject(VISUALS_CONFIG);\n\n variant = input<string>(\n this.config.theme.defaultVariant\n );\n\n @HostBinding('style.--av-badge-light-bg')\n get lightBackground(): string {\n return `var(--av-${this.variant()}-500)`;\n }\n\n @HostBinding('style.--av-badge-dark-bg')\n get darkBackground(): string {\n return `var(--av-${this.variant()}-600)`;\n }\n}\n","<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AvIconRegistry","i2","i1"],"mappings":"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"}
|