beathers 5.3.2 → 5.3.4
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/CHANGELOG +13 -0
- package/dist/css/beathers.min.css +1 -1
- package/dist/css/beathers.min.css.map +1 -1
- package/dist/scripts/cli.js +2 -2
- package/dist/scripts/commands/build.js +2 -2
- package/dist/scripts/commands/help.js +2 -2
- package/dist/scripts/commands/list.d.ts +1 -1
- package/dist/scripts/commands/list.js +1 -1
- package/dist/scss/beathers.min.scss +1 -1
- package/package.json +10 -5
- package/readme.md +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/scss/beathers.min.scss","../../src/scss/style/_resets.scss","../../src/scss/settings/_configs.scss","../../src/scss/functions/_colors.scss","../../src/scss/style/_colors.scss","../../src/scss/style/_typographic.scss","../../src/scss/functions/_typographic.scss","../../src/scss/style/_grid.scss","../../src/scss/functions/_others.scss","../../src/scss/style/_shaping.scss"],"names":[],"mappings":"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ADF,aACE,iBADF,UACE,mBADF,kBACE,2BADF,aACE,sBADF,qBACE,8BCsBR,gCACE,cACA,eASA,sDACE,WADF,gDACE,WADF,gDACE,UADF,gDACE,qBADF,gDACE,UADF,gDACE,UADF,gDACE,qBADF,gDACE,qBADF,gDACE,YADF,gDACE,qBADF,kDACE,UADF,kDACE,oBADF,kDACE,oBAOF,sCACE,WADF,4CACE,oBADF,4CACE,qBADF,4CACE,UADF,4CACE,qBADF,4CACE,qBADF,4CACE,UADF,4CACE,qBADF,4CACE,qBADF,4CACE,UADF,8CACE,qBADF,8CACE,qBADF,8CACE,WApBJ,sCACE,cACA,gBASA,4DACE,YADF,sDACE,YADF,sDACE,WADF,sDACE,sBADF,sDACE,WADF,sDACE,WADF,sDACE,sBADF,sDACE,sBADF,sDACE,aADF,sDACE,sBADF,wDACE,WADF,wDACE,qBADF,wDACE,qBAOF,4CACE,YADF,kDACE,qBADF,kDACE,sBADF,kDACE,WADF,kDACE,sBADF,kDACE,sBADF,kDACE,WADF,kDACE,sBADF,kDACE,sBADF,kDACE,WADF,oDACE,sBADF,oDACE,sBADF,oDACE,YDVI,wBAKE,sBAJA,6BACE,2BAFJ,yBAKE,uBAJA,8BACE,uBAFJ,sBAKE,oBAJA,2BACE,yBAFJ,0BAKE,8BAJA,+BACE,8BAFJ,yBAKE,6BAJA,8BACE,6BAFJ,yBAKE,6BAJA,8BACE,6BAFJ,oBAKE,kBAJA,yBACE,kBAFJ,sBAKE,oBAJA,2BACE,oBAFJ,uBAKE,qBAJA,4BACE,qBAFJ,sBAKE,oBAJA,2BACE,yBAFJ,uBAKE,qBAJA,4BACE,qBAFJ,oBAKE,kBAJA,yBACE,uBAFJ,uBAKE,2BAJA,4BACE,2BAFJ,wBAKE,4BAJA,6BACE,4BAFJ,wBAKE,sBAJA,6BACE,sBAFJ,oBAKE,kBAJA,yBACE,uBAFJ,qBAKE,mBAJA,0BACE,mBAFJ,kBAKE,gBAJA,uBACE,qBAFJ,sBAKE,oBAJA,2BACE,oBAFJ,uBAKE,qBAJA,4BACE,qBAFJ,kBAKE,gBAJA,uBACE,gBAFJ,mBAKE,iBAJA,wBACE,sBAFJ,oBAKE,kBAJA,yBACE,kBAFJ,iBAKE,eAJA,sBACE,oBAFJ,qBAKE,mBAJA,0BACE,mBAFJ,sBAKE,oBAJA,2BACE,oBEEZ,SACE,WAGE,eATM,OAaN,8CARJ,aACE,WAGE,eATM,KAaN,6CARJ,aACE,WAGE,eATM,KAaN,6CARJ,aACE,WAGE,eATM,KAaN,6CARJ,aACE,WAGE,eATM,KAaN,8CARJ,cACE,WAGE,eATM,KAaN,8CAwBF,eACE,uCADF,cACE,yCADF,gBACE,wCADF,eACE,uCADF,iBACE,wCADF,cACE,wCADF,kBACE,yCAkBF,UACE,eADF,SACE,cADF,gBACE,qBADF,QACE,aADF,eACE,oBADF,eACE,oBADF,SACE,cADF,cACE,mBADF,QACE,aAuBE,kBACE,iBADF,iBACE,gBADF,eACE,cADF,iBACE,gBADF,qBACE,mBADF,oBACE,kBADF,kBACE,gBADF,oBACE,kBADF,qBACE,mBADF,oBACE,kBADF,kBACE,gBADF,oBACE,kBAeN,QACE,YAEA,qBACE,YAJJ,QACE,YAEA,qBACE,YAJJ,QACE,WAEA,qBACE,WAJJ,QACE,WAEA,qBACE,WAeJ,aACE,0BAEA,0BACE,0BAJJ,aACE,0BAEA,0BACE,0BAJJ,cACE,2BAEA,2BACE,2BAeJ,mBACE,iBADF,kBACE,gBADF,qBACE,mBADF,kBACE,gBAcF,UACE,gBADF,YACE,kBADF,SACE,eADF,YACE,kBADF,UACE,gBAkBA,aACE,MApMI,EAmMN,oBACE,aApMI,EAmMN,mBACE,YApMI,EAmMN,UACE,MApMI,EAmMN,iBACE,aApMI,EAmMN,gBACE,YApMI,EAkOF,MACE,SADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,QACE,WADF,WACE,aADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,aACE,eADF,WACE,aADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,aACE,eADF,MACE,UADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,QACE,YADF,WACE,cADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,aACE,gBADF,WACE,cADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,aACE,gBA8CJ,QAII,QAlRE,KAoRF,WAEE,wBARN,KAII,QAlRE,OAoRF,QAEE,0BARN,KAII,QAlRE,MAoRF,QAEE,yBARN,KAII,QAlRE,OAoRF,QAEE,0BARN,KAII,QAlRE,KAoRF,QAEE,wBARN,KAII,QAlRE,OAoRF,QAEE,0BARN,KAII,QAlRE,KAoRF,QAEE,wBARN,SAII,eAlRE,KAoRF,YAEE,+BARN,MAII,eAlRE,OAoRF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","file":"beathers.min.css","sourcesContent":["/*!\r\n* Beathers v5.3.2 (https://bhoenixstudio.com/beathers)\r\n* Copyright 2020-2025 Bhoenix Studio\r\n*/\r\n\r\n// Style ----- ----- ----- -----\r\n@use './style/resets';\r\n@use './style/colors';\r\n@use './style/typographic';\r\n@use './style/grid';\r\n@use './style/shaping';\r\n","@use 'sass:meta';\r\n@use '../settings/configs' as configs;\r\n@use '../variables' as vars;\r\n@use '../functions/colors' as colors;\r\n@use '../settings/index' as settings;\r\n\r\n// Definitions\r\n$useColors: if(meta.variable-exists('vars.$useColors') and vars.$useColors, vars.$useColors, settings.$useColors);\r\n$useColorsLightMode: if(\r\n meta.variable-exists('vars.$useColorsLightMode') and vars.$useColorsLightMode,\r\n vars.$useColorsLightMode,\r\n settings.$useColorsLightMode\r\n);\r\n$useColorsDarkMode: if(\r\n meta.variable-exists('vars.$useColorsDarkMode') and vars.$useColorsDarkMode,\r\n vars.$useColorsDarkMode,\r\n settings.$useColorsDarkMode\r\n);\r\n\r\nhtml {\r\n scroll-behavior: smooth;\r\n interpolate-size: allow-keywords;\r\n}\r\n\r\nbody {\r\n position: relative;\r\n /* stylelint-disable font-family-no-missing-generic-family-keyword */\r\n font-family: 'regular';\r\n overflow-x: hidden;\r\n}\r\n\r\n*,\r\n::before,\r\n::after {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n:focus,\r\nbutton:focus {\r\n outline: unset;\r\n box-shadow: unset;\r\n}\r\n\r\nul {\r\n margin: unset;\r\n list-style: none;\r\n padding: 0;\r\n\r\n li {\r\n margin-bottom: unset;\r\n }\r\n}\r\n\r\na {\r\n text-decoration: unset;\r\n}\r\n\r\n@if $useColors {\r\n @if $useColorsLightMode {\r\n .light::selection {\r\n background-color: colors.useColorWithMap('custom-2');\r\n color: colors.useColorWithMap('white');\r\n }\r\n }\r\n @if $useColorsDarkMode {\r\n .dark::selection {\r\n background-color: colors.useColorWithMap('custom-2', 'dark');\r\n color: colors.useColorWithMap('black');\r\n }\r\n }\r\n}\r\n\r\n::-webkit-scrollbar {\r\n width: 6px;\r\n\r\n &-track {\r\n background-color: transparent;\r\n border-radius: unset;\r\n }\r\n &-thumb {\r\n border-radius: 100vw;\r\n }\r\n}\r\n@if $useColors {\r\n @if $useColorsLightMode {\r\n .light::-webkit-scrollbar-thumb {\r\n background: colors.useColorWithMap('third');\r\n }\r\n }\r\n @if $useColorsDarkMode {\r\n .dark::-webkit-scrollbar-thumb {\r\n background: colors.useColorWithMap('third', 'dark');\r\n }\r\n }\r\n}\r\n\r\n@each $option, $properties in configs.$clearanceOptions {\r\n @each $property, $value in $properties {\r\n .i\\:#{$option} {\r\n /* stylelint-disable declaration-no-important */\r\n #{$property}: $value !important;\r\n }\r\n .#{$option} {\r\n #{$property}: $value;\r\n }\r\n }\r\n}\r\n\r\n@each $cursor in configs.$cursors {\r\n .cursor#{\\:}#{$cursor} {\r\n cursor: #{$cursor};\r\n }\r\n}\r\n\r\n.scroll-smooth {\r\n scroll-behavior: smooth;\r\n}\r\n","// Core configuration maps and variables for the Beathers Design System.\r\n\r\n// Defines CSS properties for color utilities.\r\n$colorsPropertiesMap: (\r\n null: color,\r\n bg: background-color,\r\n border: border-color,\r\n fill: fill,\r\n stroke: stroke,\r\n text-stroke: -webkit-text-stroke-color,\r\n);\r\n\r\n// Defines pseudo-classes for color variants.\r\n$colorsPseudoMap: (\r\n 'placeholder': '::placeholder',\r\n 'hover': ':hover',\r\n 'focus': ':focus',\r\n);\r\n\r\n// Defines available font weights.\r\n$fontWeightsValues: (\r\n 'thin': 100,\r\n 'extra-light': 200,\r\n 'light': 300,\r\n 'regular': 400,\r\n 'medium': 500,\r\n 'semibold': 600,\r\n 'bold': 700,\r\n 'extra-bold': 800,\r\n 'black': 900,\r\n);\r\n\r\n// Defines text transformation and decoration options.\r\n$fontShapes: (\r\n 'transform': (\r\n uppercase,\r\n lowercase,\r\n capitalize,\r\n ),\r\n 'decoration': (\r\n underline,\r\n line-through,\r\n ),\r\n 'styles': (\r\n wavy,\r\n double,\r\n dotted,\r\n dashed,\r\n ),\r\n);\r\n\r\n// Defines text alignment options.\r\n$aligns: (left, start, right, end, justify, center);\r\n\r\n// Defines flexbox properties.\r\n$flexProperties: (\r\n flex-wrap: wrap nowrap,\r\n flex-direction: row row-reverse column column-reverse,\r\n);\r\n\r\n// Defines display utility options.\r\n$displays: (inline, block, inline-block, flex, inline-flex, inline-grid, table, table-cell, none);\r\n\r\n// Defines overflow directions.\r\n$overflowsDirections: (null, 'x', 'y');\r\n// Defines overflow behaviors.\r\n$overflows: (visible, hidden, auto, scroll);\r\n// Defines object-fit property values.\r\n$objectsFits: (cover, fill, contain, none);\r\n\r\n// Defines available cursor types.\r\n$cursors: (\r\n alias,\r\n auto,\r\n cell,\r\n context-menu,\r\n copy,\r\n crosshair,\r\n default,\r\n grab,\r\n grabbing,\r\n help,\r\n move,\r\n no-drop,\r\n none,\r\n not-allowed,\r\n pointer,\r\n progress,\r\n col-resize,\r\n row-resize,\r\n text,\r\n wait,\r\n zoom-in,\r\n zoom-out\r\n);\r\n\r\n// Defines shadow presets.\r\n$shadows: (\r\n 'light': (\r\n x: 0,\r\n y: 2,\r\n blur: 5,\r\n spread: 0,\r\n opacity: 0.15,\r\n ),\r\n 'soft': (\r\n x: 2,\r\n y: 2,\r\n blur: 12,\r\n spread: 0,\r\n opacity: 0.2,\r\n ),\r\n 'medium': (\r\n x: 0,\r\n y: 10,\r\n blur: 20,\r\n spread: 0,\r\n opacity: 0.2,\r\n ),\r\n 'solid': (\r\n x: 0,\r\n y: 4,\r\n blur: 10,\r\n spread: 0,\r\n opacity: 0.3,\r\n ),\r\n 'ambient': (\r\n x: 0,\r\n y: 0,\r\n blur: 40,\r\n spread: 10,\r\n opacity: 0.1,\r\n ),\r\n 'flat': (\r\n x: 0,\r\n y: 6,\r\n blur: 6,\r\n spread: 4,\r\n opacity: 0.2,\r\n ),\r\n 'floating': (\r\n x: 0,\r\n y: 20,\r\n blur: 40,\r\n spread: 0,\r\n opacity: 0.15,\r\n ),\r\n);\r\n\r\n// Defines utility classes for clearing properties.\r\n$clearanceOptions: (\r\n no-bg: (\r\n background: unset,\r\n background-color: unset,\r\n ),\r\n no-border: (\r\n border: unset,\r\n ),\r\n no-radius: (\r\n border-radius: unset,\r\n ),\r\n no-events: (\r\n pointer-events: none,\r\n ),\r\n no-position: (\r\n position: unset,\r\n ),\r\n);\r\n\r\n// Defines available position values.\r\n$positions: static, relative, fixed, absolute, sticky;\r\n\r\n// Defines inset positioning options.\r\n$insetPositions: null, inline, block;\r\n\r\n// Defines the step for spacing utilities.\r\n$spacesStep: 5;\r\n\r\n// Defines properties for width and height utilities.\r\n$spacesDirections: (\r\n 'w': width,\r\n 'min#{\\:}w': min-width,\r\n 'max#{\\:}w': max-width,\r\n 'h': height,\r\n 'min#{\\:}h': min-height,\r\n 'max#{\\:}h': max-height,\r\n);\r\n\r\n// Defines properties for padding, margin and gap utilities.\r\n$gutters: (\r\n p: padding,\r\n px: padding-inline,\r\n py: padding-block,\r\n ps: padding-inline-start,\r\n pe: padding-inline-end,\r\n pt: padding-block-start,\r\n pb: padding-block-end,\r\n m: margin,\r\n mx: margin-inline,\r\n my: margin-block,\r\n ms: margin-inline-start,\r\n me: margin-inline-end,\r\n mt: margin-block-start,\r\n mb: margin-block-end,\r\n g: gap,\r\n gx: column-gap,\r\n gy: row-gap,\r\n);\r\n\r\n// Defines border direction properties.\r\n$bordersDirections: (\r\n null: border,\r\n 'top': border-block-start,\r\n 'bottom': border-block-end,\r\n 'start': border-inline-start,\r\n 'end': border-inline-end,\r\n);\r\n\r\n// Defines border-radius direction properties.\r\n$radiusDirection: (\r\n null: (\r\n border-radius,\r\n ),\r\n 'top': (\r\n border-start-start-radius,\r\n border-start-end-radius,\r\n ),\r\n 'bottom': (\r\n border-end-start-radius,\r\n border-end-end-radius,\r\n ),\r\n 'start': (\r\n border-start-start-radius,\r\n border-end-start-radius,\r\n ),\r\n 'end': (\r\n border-start-end-radius,\r\n border-end-end-radius,\r\n ),\r\n 'top-start': (\r\n border-start-start-radius,\r\n ),\r\n 'top-end': (\r\n border-start-end-radius,\r\n ),\r\n 'bottom-start': (\r\n border-end-start-radius,\r\n ),\r\n 'bottom-end': (\r\n border-end-end-radius,\r\n ),\r\n);\r\n\r\n$justify: (\r\n justify: (\r\n content: (\r\n start,\r\n center,\r\n end,\r\n between,\r\n around,\r\n evenly,\r\n ),\r\n self: (\r\n auto,\r\n center,\r\n stretch,\r\n ),\r\n ),\r\n align: (\r\n content: (\r\n start,\r\n center,\r\n end,\r\n around,\r\n between,\r\n stretch,\r\n ),\r\n items: (\r\n start,\r\n center,\r\n end,\r\n stretch,\r\n baseline,\r\n ),\r\n self: (\r\n auto,\r\n start,\r\n center,\r\n end,\r\n stretch,\r\n baseline,\r\n ),\r\n ),\r\n);\r\n","@use 'sass:meta';\r\n@use 'sass:color';\r\n@use 'sass:math';\r\n@use 'sass:list';\r\n@use 'sass:map';\r\n@use '../settings/configs' as configs;\r\n@use '../settings/index' as settings;\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n\r\n// Definitions\r\n$colors: if(meta.variable-exists('vars.$colors') and vars.$colors, vars.$colors, defs.$colors);\r\n$opacities: if(meta.variable-exists('vars.$opacities') and vars.$opacities, vars.$opacities, defs.$opacities);\r\n$useColorsLightMode: if(\r\n meta.variable-exists('vars.$useColorsLightMode') and vars.$useColorsLightMode,\r\n vars.$useColorsLightMode,\r\n settings.$useColorsLightMode\r\n);\r\n$useColorsDarkMode: if(\r\n meta.variable-exists('vars.$useColorsDarkMode') and vars.$useColorsDarkMode,\r\n vars.$useColorsDarkMode,\r\n settings.$useColorsDarkMode\r\n);\r\n$useColorsOpacities: if(\r\n meta.variable-exists('vars.$useColorsOpacities') and vars.$useColorsOpacities,\r\n vars.$useColorsOpacities,\r\n settings.$useColorsOpacities\r\n);\r\n\r\n// Color Convertors ----- ----- ----- -----\r\n//\r\n// @function hexToRgba\r\n// --------------------------------------\r\n// Converts a hex color value to RGBA format\r\n//\r\n// @param {Color} $color - The hex color to convert (e.g. '#ffffff' or '#fff')\r\n// @param {Number} $opacity - Optional opacity value between 0 and 1 (default: 1)\r\n// @return {Color} - The color in rgba() format\r\n//\r\n// @example scss\r\n// color: hexToRgba('#ffffff');\r\n// // Returns rgba(255, 255, 255, 1)\r\n// color: hexToRgba('#ffffff', 0.5);\r\n// // Returns rgba(255, 255, 255, 0.5)\r\n// color: hexToRgba('#ffffff80');\r\n// // Returns rgba(255, 255, 255, 0.5)\r\n//\r\n@function hexToRgba($color, $opacity: 1, $debugIn: null) {\r\n // Validate parameters\r\n $checkedColor: val.hexColor('color', $color, 'hexToRgba().#{$debugIn}');\r\n $checkedOpacity: val.opacity($opacity, 'hexToRgba().#{$debugIn}');\r\n\r\n @return rgba(\r\n color.channel($checkedColor, 'red', $space: rgb),\r\n color.channel($checkedColor, 'green', $space: rgb),\r\n color.channel($checkedColor, 'blue', $space: rgb),\r\n $checkedOpacity\r\n );\r\n}\r\n\r\n// Use Color ----- ----- ----- -----\r\n//\r\n// @function useColor\r\n// --------------------------------------\r\n// Retrieves a color from any color map with optional variant and opacity\r\n//\r\n// @param {String} $color - The color key to retrieve from the map\r\n// @param {String} $mode - Optional mode, must be 'light' or 'dark' (default: 'light')\r\n// @param {Number} $opacity - Optional opacity value between 0 and 100 (default: 100)\r\n// @param {Map} $map - Optional color map to use (defaults to $colors)\r\n// @return {Color} - The color value, possibly with applied opacity\r\n// @throws {Error} - If mode is provided but isn't 'light' or 'dark'\r\n// @throws {Error} - If opacity is provided but isn't a number between 0 and 100\r\n//\r\n// @example scss\r\n// // Using default color map ($colors)\r\n// color: useColor('primary', 'light', 0.5);\r\n// // Returns the light variant of primary color with 50% opacity\r\n//\r\n// // Using a custom color map\r\n// color: useColor('secondary', 'dark', null, $customMap);\r\n// // Returns the dark variant of secondary color from custom map\r\n//\r\n@function useColor($color, $mode: 'light', $opacity: 100) {\r\n // Validate parameters\r\n $checkedMode: val.colorMode($mode, 'useColor()');\r\n $checkedOpacity: val.colorOpacity($opacity, 'useColor()');\r\n\r\n @if $color {\r\n $value: map.get($color, $mode);\r\n\r\n @if $checkedOpacity {\r\n @return hexToRgba($value, math.div($opacity, 100), 'useColor().#{$value}');\r\n } @else {\r\n @return $value;\r\n }\r\n } @else {\r\n @return null;\r\n }\r\n}\r\n\r\n@function useColorWithMap($color, $mode: 'light', $opacity: 100, $map: $colors) {\r\n // Validate parameters\r\n $checkedMap: val.map($map, 'useColorWithMap().map');\r\n\r\n $colorValue: map.get($checkedMap, $color);\r\n @return useColor($colorValue, $mode, $opacity);\r\n}\r\n\r\n// @mixin useColorProperty\r\n// --------------------------------------\r\n// Applies color properties with theme variant support while handling light/dark themes\r\n// and creating appropriate CSS selectors for different use cases.\r\n//\r\n// @param {String} $colorClass - The CSS class name to apply the color to (e.g., 'color-1', 'bg\\:color-1')\r\n// @param {String|Null} $class - The CSS class prefix (e.g., 'bg', 'border', null for 'color')\r\n// @param {String} $property - The CSS property to set (e.g., 'color', 'background-color')\r\n// @param {Map} $color - The color map with light/dark variants\r\n// @param {Map} $map - The parent color map containing all colors\r\n// @param {Number} $opacity - Optional opacity value between 0-100 (default: 100)\r\n// @throws {Error} - If provided parameters fail validation through val.* functions\r\n//\r\n// @example scss\r\n// // Apply primary color as text color with 50% opacity\r\n// @include useColorProperty(\"color-1\", null, \"color\", $primaryColor, $colorsMap, 50);\r\n//\r\n// // Apply primary color as background with full opacity\r\n// @include useColorProperty(\"bg\\:color-1\", \"bg\", \"background-color\", $primaryColor, $colorsMap);\r\n//\r\n// Generated Selectors:\r\n// Each call to this mixin generates three CSS selectors to support different theming approaches:\r\n//\r\n// 1. Parent/child relationship: `.light .className`, `.dark .className`\r\n// For theme inheritance from parent elements\r\n// Example: <div class=\"light\"><span class=\"color-1\">Themed text</span></div>\r\n//\r\n// 2. Modifier class: `.className.light`, `.className.dark`\r\n// For direct theme application to the element itself\r\n// Example: <span class=\"color-1 light\">Themed text</span>\r\n//\r\n// 3. Prefixed class: `.light\\:className`, `.dark\\:className`\r\n// For utility-first CSS approaches\r\n// Example: <span class=\"light\\:color-1\">Themed text</span>\r\n//\r\n// Note: When light and dark variants are identical, a single class without theme\r\n// modifiers is generated to reduce CSS output size.\r\n@mixin useColorProperty($colorClass, $class, $property, $color, $map, $opacity: 100) {\r\n // Validate parameters\r\n $checkedClass: val.colorClass($class, 'useColorProperty().class');\r\n $checkedProperty: val.colorProperty($property, 'useColorProperty().property');\r\n $checkedMap: val.map($map, 'useColorProperty().map');\r\n $checkedOpacity: val.colorOpacity($opacity, 'useColorProperty().opacity');\r\n $checkedLight: val.mapItem($color, 'light', 'light/dark', 'useColorProperty().color');\r\n $checkedDark: val.mapItem($color, 'dark', 'light/dark', 'useColorProperty().color');\r\n\r\n $light: map.get($color, 'light');\r\n $dark: map.get($color, 'dark');\r\n\r\n $checkedLightValue: val.hexColor('#{$colorClass}.light', $light, 'root-colors()');\r\n $checkedDarkValue: val.hexColor('#{$colorClass}.dark', $dark, 'root-colors()');\r\n\r\n @if $light and $dark and $dark != $light {\r\n @if ($useColorsLightMode) {\r\n .light .#{$colorClass},\r\n .#{$colorClass}.light,\r\n .light\\:#{$colorClass} {\r\n #{$property}: useColor($color, 'light', $opacity);\r\n }\r\n }\r\n\r\n @if ($useColorsDarkMode) {\r\n .dark .#{$colorClass},\r\n .#{$colorClass}.dark,\r\n .dark\\:#{$colorClass} {\r\n #{$property}: useColor($color, 'dark', $opacity);\r\n }\r\n }\r\n } @else {\r\n .#{$colorClass} {\r\n #{$property}: useColor($color, if($light, 'light', 'dark'), $opacity);\r\n }\r\n }\r\n}\r\n\r\n// Use Colors Map ----- ----- ----- -----\r\n//\r\n// @mixin useColorsMap\r\n// --------------------------------------\r\n// Creates color utility classes using useColor() function for theme variant handling\r\n// @param {Map} $map - The color map to use (e.g., $colors)\r\n// @param {Boolean} $withOpacity - Whether to generate opacity variants (default: true)\r\n// @throws {Error} - If $map is not a valid map\r\n//\r\n// @example scss\r\n// @include useColorsMap($themeColors);\r\n// // Creates all color classes with theme support\r\n// // Generated classes include:\r\n// // .color-[colorName], .bg-color-[colorName], .border-color-[colorName]\r\n// // With theme variants like .light, .dark\r\n// // With optional opacity variants like :50, :75\r\n// // With pseudo-class variants like :hover, :focus\r\n//\r\n@mixin useColorsMap($map: $colors, $withOpacity: true) {\r\n // Validate parameters\r\n $checkedMap: val.map($map, 'useColorsMap()');\r\n $checkedWithOpacity: val.boolean($withOpacity, 'useColorsMap()');\r\n\r\n @each $color, $modes in $checkedMap {\r\n @if $color {\r\n @each $class, $property in configs.$colorsPropertiesMap {\r\n $mainClass: if($class, '#{$class}#{\\:}color-#{$color}', 'color-#{$color}');\r\n\r\n @include useColorProperty($mainClass, $class, $property, $modes, $map);\r\n\r\n @if $checkedWithOpacity and $useColorsOpacities {\r\n @each $opacity in $opacities {\r\n @include useColorProperty('#{$mainClass}#{\\:}#{$opacity}', $class, $property, $modes, $map, $opacity);\r\n }\r\n }\r\n\r\n @each $pseudoClass, $pseudo in configs.$colorsPseudoMap {\r\n @if $pseudoClass != 'placeholder' or ($pseudoClass == 'placeholder' and $class == null) {\r\n @include useColorProperty('#{$mainClass}#{\\:}#{$pseudoClass}#{$pseudo}', $class, $property, $modes, $map);\r\n\r\n @if $checkedWithOpacity and $useColorsOpacities {\r\n @each $opacity in $opacities {\r\n @include useColorProperty(\r\n '#{$mainClass}#{\\:}#{$opacity}#{\\:}#{$pseudoClass}#{$pseudo}',\r\n $class,\r\n $property,\r\n $modes,\r\n $map,\r\n $opacity\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:map';\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/configs' as configs;\r\n@use '../functions/colors' as colors;\r\n@use '../settings/index' as settings;\r\n\r\n// Definitions\r\n$useColors: if(meta.variable-exists('vars.$useColors') and vars.$useColors, vars.$useColors, settings.$useColors);\r\n$useCurrentColors: if(\r\n meta.variable-exists('vars.$useCurrentColors') and vars.$useCurrentColors,\r\n vars.$useCurrentColors,\r\n settings.$useCurrentColors\r\n);\r\n$useRootColors: if(\r\n meta.variable-exists('vars.$useRootColors') and vars.$useRootColors,\r\n vars.$useRootColors,\r\n settings.$useRootColors\r\n);\r\n$colors: if(meta.variable-exists('vars.$colors') and vars.$colors, vars.$colors, defs.$colors);\r\n\r\n// Colors System Module\r\n// --------------------------\r\n// This file is responsible for generating color utility classes and CSS variables\r\n// based on the color maps defined in the variables file.\r\n//\r\n// Key features:\r\n// 1. Generates color utility classes from the main colors map\r\n// 2. Creates currentColor utility classes\r\n// 3. Sets up CSS variables for all defined colors\r\n//\r\n// The color system supports:\r\n// - Light and dark mode theming\r\n// - Opacity variations\r\n// - Pseudo-class variants (:hover, :focus, etc.)\r\n//\r\n// @requires ../functions/colors.scss - For color utility functions and mixins\r\n// @requires ../settings/configs.scss - For configuration variables\r\n// @requires ../functions/validations.scss - For validation utilities\r\n// @requires ../variables.scss - For color definitions\r\n\r\n@if $useColors {\r\n // Color Utility Classes\r\n // --------------------\r\n // Generate color utility classes from the main colors map.\r\n // Uses the useColorsMap mixin from colors functions to create a comprehensive\r\n // set of color utilities for all the colors defined in $colors.\r\n //\r\n // Generated classes include:\r\n // - .color-[colorName] - Sets text color\r\n // - .bg-color-[colorName] - Sets background color\r\n // - .border-color-[colorName] - Sets border color\r\n //\r\n // With light/dark theme variants:\r\n // - Automatically applies correct color based on .light/.dark context\r\n // - Supports direct class application with .color-[colorName].light\r\n //\r\n // With opacity variants (e.g., :50 for 50% opacity):\r\n // - .color-[colorName]:50\r\n // - .bg-color-[colorName]:75\r\n //\r\n // With pseudo-class variants:\r\n // - .color-[colorName]:hover\r\n // - .bg-color-[colorName]:focus\r\n @include colors.useColorsMap;\r\n}\r\n\r\n@if $useCurrentColors {\r\n // CurrentColor Utility Classes\r\n // ----------------------------\r\n // Creates utility classes for applying the CSS `currentColor` value to various CSS properties\r\n // as defined in the configs.$colorsPropertiesMap.\r\n //\r\n // For each property in the map (color, background-color, border-color, etc.):\r\n // - Creates a base class (.{property}-current-color)\r\n // - Creates pseudo-class variants for interaction states\r\n //\r\n // Examples:\r\n // - .current-color { color: currentColor; }\r\n // - .bg-current-color { background-color: currentColor; }\r\n // - .border-current-color { border-color: currentColor; }\r\n // - .current-color\\:hover:hover { color: currentColor; }\r\n // - .bg-current-color\\:focus:focus { background-color: currentColor; }\r\n //\r\n // Usage:\r\n // <div class=\"current-color bg-current-color:hover\">\r\n // This text uses currentColor and background changes to currentColor on hover\r\n // </div>\r\n @each $class, $property in configs.$colorsPropertiesMap {\r\n $mainClass: if($class, '#{$class}#{\\:}current-color', 'current-color');\r\n\r\n .#{$mainClass} {\r\n #{$property}: currentColor;\r\n\r\n @each $pseudoClass, $pseudo in configs.$colorsPseudoMap {\r\n @if $pseudoClass != 'placeholder' or ($pseudoClass == 'placeholder' and $class == null) {\r\n &#{\\:}#{$pseudoClass}#{$pseudo} {\r\n #{$property}: currentColor;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useRootColors {\r\n // CSS Color Variables\r\n // ------------------\r\n // Generates CSS custom properties (variables) for all colors in the $colors map.\r\n // These variables can be used throughout the application to ensure color consistency.\r\n //\r\n // The implementation:\r\n // 1. Iterates through each color in the $colors map\r\n // 2. Validates the color values through val.mapItem and val.hexColor functions\r\n // 3. Determines if light and dark variants are the same\r\n // 4. Creates appropriate CSS variables based on variant differences\r\n //\r\n // Format:\r\n // - For colors with light/dark variants: --color-{name}-{variant}: {color-value}\r\n // - For colors without variants: --color-{name}: {color-value}\r\n //\r\n // Examples:\r\n // --color-main-light: #ffffff\r\n // --color-main-dark: #1a1d21\r\n // --color-accent: #3498db (when light and dark variants are the same)\r\n //\r\n // Usage:\r\n // .my-element {\r\n // background-color: var(--color-main-light);\r\n // color: var(--color-accent);\r\n // }\r\n :root {\r\n @each $color, $modes in $colors {\r\n // Validate parameters\r\n $checkedLight: val.mapItem($modes, 'light', 'light/dark', 'root-colors()');\r\n $checkedDark: val.mapItem($modes, 'dark', 'light/dark', 'root-colors()');\r\n\r\n $light: map.get($modes, 'light');\r\n $dark: map.get($modes, 'dark');\r\n\r\n // Validate colors\r\n $checkedLightValue: val.hexColor('#{$color}.light', $light, 'root-colors()');\r\n $checkedDarkValue: val.hexColor('#{$color}.dark', $dark, 'root-colors()');\r\n\r\n @if ($light == $dark) {\r\n --color-#{$color}: #{$checkedLightValue};\r\n } @else {\r\n --color-#{$color}-light: #{$checkedLightValue};\r\n --color-#{$color}-dark: #{$checkedDarkValue};\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:string';\r\n@use 'sass:map';\r\n@use 'sass:list';\r\n@use '../variables' as vars;\r\n@use '../functions/validations' as val;\r\n@use '../functions/typographic' as typo;\r\n@use '../settings/configs' as configs;\r\n@use '../functions/mediaQueries' as mQ;\r\n@use '../settings/index' as settings;\r\n@use '../settings/defaults' as defs;\r\n\r\n// Definitions\r\n$useFontFamilies: if(\r\n meta.variable-exists('vars.$useFontFamilies') and vars.$useFontFamilies,\r\n vars.$useFontFamilies,\r\n settings.$useFontFamilies\r\n);\r\n$fonts: if(meta.variable-exists('vars.$fonts') and vars.$fonts, vars.$fonts, defs.$fonts);\r\n$fontWeights: if(meta.variable-exists('vars.$fontWeights') and vars.$fontWeights, vars.$fontWeights, defs.$fontWeights);\r\n$fontStyles: if(meta.variable-exists('vars.$fontStyles') and vars.$fontStyles, vars.$fontStyles, defs.$fontStyles);\r\n$fontFormat: if(meta.variable-exists('vars.$fontFormat') and vars.$fontFormat, vars.$fontFormat, defs.$fontFormat);\r\n$defaultFontFamilies: if(\r\n meta.variable-exists('vars.$defaultFontFamilies') and vars.$defaultFontFamilies,\r\n vars.$defaultFontFamilies,\r\n defs.$defaultFontFamilies\r\n);\r\n$useFontSizes: if(\r\n meta.variable-exists('vars.$useFontSizes') and vars.$useFontSizes,\r\n vars.$useFontSizes,\r\n settings.$useFontSizes\r\n);\r\n$fontSizes: if(meta.variable-exists('vars.$fontSizes') and vars.$fontSizes, vars.$fontSizes, defs.$fontSizes);\r\n$useFontShapes: if(\r\n meta.variable-exists('vars.$useFontShapes') and vars.$useFontShapes,\r\n vars.$useFontShapes,\r\n settings.$useFontShapes\r\n);\r\n$useTextAligns: if(\r\n meta.variable-exists('vars.$useTextAligns') and vars.$useTextAligns,\r\n vars.$useTextAligns,\r\n settings.$useTextAligns\r\n);\r\n$useTextTruncate: if(\r\n meta.variable-exists('vars.$useTextTruncate') and vars.$useTextTruncate,\r\n vars.$useTextTruncate,\r\n settings.$useTextTruncate\r\n);\r\n$textTruncate: if(\r\n meta.variable-exists('vars.$textTruncate') and vars.$textTruncate,\r\n vars.$textTruncate,\r\n defs.$textTruncate\r\n);\r\n\r\n// Typographic Utilities\r\n// --------------------------------------\r\n// This file generates various typographic utility classes and @font-face rules\r\n// based on the settings and variables defined in the project.\r\n// Each section can be enabled or disabled via the `$use...` variables.\r\n\r\n// Font Families & @font-face ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates @font-face rules based on the `vars.$fonts` map and\r\n// corresponding utility classes for applying font families, weights, and styles.\r\n// The generation of these rules and classes is controlled by the\r\n// `$useFontFamilies` boolean variable.\r\n//\r\n// @see $useFontFamilies\r\n// @see vars.$fonts\r\n// @see vars.$fontWeights\r\n// @see vars.$fontStyles\r\n// @see configs.$fontWeightsValues (for mapping weight names to numerical values)\r\n// @see $defaultFontFamilies (for fallback fonts)\r\n// @see typo.font (mixin used for @font-face generation)\r\n// @see mQ.multiSizes (mixin used for responsive class generation)\r\n//\r\n// @generatedClasses\r\n// - @font-face rules for each font variant.\r\n// - Font family/weight classes:\r\n// - e.g., `.regular`, `.bold`, `.italic`\r\n// - e.g., `.fontName-0`, `.fontName-1` (if multiple fonts with same weight names, indexed by $fI)\r\n// - Responsive font family/weight classes (if `mQ.multiSizes` is configured):\r\n// - e.g., `md:regular`, `lg:bold`\r\n// - Font style classes (applied as modifiers):\r\n// - e.g., `.regular.italic`\r\n//\r\n// @example scss - Configuration in vars.$fonts (simplified)\r\n// vars.$fonts: (\r\n// sans: (\r\n// weights: (regular, bold),\r\n// styles: (normal, italic),\r\n// variants: (\r\n// latin: (title: \"OpenSans\") // `title` here is used for font-family in @font-face\r\n// )\r\n// )\r\n// );\r\n//\r\n// @example css - Generated CSS (simplified, assuming $fI is 0 for the first font)\r\n// @font-face { font-family: \"OpenSans-0\"; src: local(\"OpenSans Regular\"); font-weight: 400; font-style: normal; }\r\n// .regular { font-family: \"OpenSans-0\", \"Fallback Font\"; font-weight: 400; }\r\n// .regular.italic { font-style: italic; }\r\n// .bold { font-family: \"OpenSans-0\", \"Fallback Font\"; font-weight: 700; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n\r\n@if $useFontFamilies {\r\n // Font families ----- -----\r\n $fI: 0;\r\n @each $fontKey, $font in $fonts {\r\n // Validate parameters\r\n $checkedFontKey: val.string($fontKey, 'Typographic.fonts.title');\r\n $checkedFont: val.map($font, 'Typographic.fonts');\r\n\r\n $weights: map.get($font, 'weights');\r\n $weights: if($weights != null, map.get($font, 'weights'), $fontWeights);\r\n $styles: map.get($font, 'styles');\r\n $styles: if($styles != null, map.get($font, 'styles'), $fontStyles);\r\n $variants: map.get($font, 'variants');\r\n\r\n // Validate parameters\r\n $checkedWeights: val.list($weights, 'Typographic.fontFace.weights');\r\n $checkedStyles: val.list($styles, 'Typographic.fontFace.styles');\r\n $checkedVariants: val.map($variants, 'Typographic.fontFace.variants');\r\n\r\n @each $weight in $weights {\r\n @each $style in $styles {\r\n @each $lang, $fontFace in $variants {\r\n $title: map.get($fontFace, 'title');\r\n $unicode: if(map.has-key($fontFace, 'unicode'), map.get($fontFace, 'unicode'), null);\r\n $format: if(map.has-key($fontFace, 'format'), map.get($fontFace, 'format'), $fontFormat);\r\n $isLocal: if(map.has-key($fontFace, 'local'), map.get($fontFace, 'isLocal'), true);\r\n $externalUrl: if(map.has-key($fontFace, 'url'), map.get($fontFace, 'url'), null);\r\n\r\n // Validate parameters\r\n $checkedIsLocal: val.boolean($isLocal, 'Typographic.fontFace.local');\r\n $checkedTitle: val.string($title, 'Typographic.fontFace.title');\r\n $checkedFormat: val.string($format, 'Typographic.fontFace.format');\r\n @if $unicode {\r\n $checkedUnicode: val.string($unicode, 'Typographic.fontFace.unicode');\r\n }\r\n\r\n @include typo.font($title, $weight, $format, $style, $fI, $unicode, $isLocal, $externalUrl);\r\n }\r\n }\r\n }\r\n\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $weight in $weights {\r\n @each $style in $styles {\r\n // Font weights\r\n // Validate parameters\r\n $styleClass: if($fI == 0, $weight, '#{$weight}-#{$fI}');\r\n $weightValue: map.get(configs.$fontWeightsValues, $weight);\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$styleClass}, $styleClass);\r\n\r\n .#{$mainClass} {\r\n font-family:\r\n '#{$styleClass}',\r\n $defaultFontFamilies if($size, !important, null);\r\n font-weight: if($size, $weightValue !important, $weightValue);\r\n @if meta.type-of($styles) == 'list' and list.length($styles) > 0 {\r\n &.#{$style} {\r\n font-style: $style;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n $fI: $fI + 1;\r\n }\r\n}\r\n\r\n// Font Sizes ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for applying predefined font sizes.\r\n// The generation of these classes is controlled by the\r\n// `$useFontSizes` boolean variable.\r\n// Font sizes are defined in `$fontSizes`.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useFontSizes\r\n// @see $fontSizes\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Font size classes:\r\n// - e.g., `.text-sm`, `.text-base`, `.text-lg` (based on keys in `$fontSizes`)\r\n// - Responsive font size classes:\r\n// - e.g., `md:text-sm`, `lg:text-base`\r\n//\r\n// @example scss - Configuration in $fontSizes\r\n// $fontSizes: (\r\n// sm: 0.875rem,\r\n// base: 1rem\r\n// );\r\n//\r\n// @example css - Generated CSS (simplified)\r\n// .text-sm { font-size: 0.875rem; }\r\n// .text-base { font-size: 1rem; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useFontSizes {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $fontSize, $value in $fontSizes {\r\n $mainClass: if($size, #{$size}#{$divider}#{$fontSize}, $fontSize);\r\n\r\n .#{$mainClass} {\r\n font-size: $value if($size, !important, null);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Font Shapes (Text Transformation) ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for text transformations (e.g., uppercase, lowercase)\r\n// and other font-related shape properties like `font-variant`.\r\n// The generation of these classes is controlled by the\r\n// `$useFontShapes` boolean variable.\r\n// Shapes are defined in `configs.$fontShapes` and applied using the `typo.fontShapes` mixin.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useFontShapes\r\n// @see configs.$fontShapes\r\n// @see typo.fontShapes\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Text transformation/shape classes:\r\n// - e.g., `.uppercase`, `.lowercase`, `.small-caps` (based on `configs.$fontShapes`)\r\n// - Responsive text transformation/shape classes:\r\n// - e.g., `md:uppercase`, `lg:small-caps`\r\n//\r\n// @example scss - Configuration in configs.$fontShapes\r\n// configs.$fontShapes: (\r\n// text-transform: (uppercase, lowercase, capitalize),\r\n// font-variant: (small-caps)\r\n// );\r\n//\r\n// @example css - Generated CSS (simplified)\r\n// .uppercase { text-transform: uppercase; }\r\n// .small-caps { font-variant: small-caps; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useFontShapes {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $type, $values in configs.$fontShapes {\r\n @each $value in $values {\r\n @include typo.fontShapes(if($size, '#{$size}#{$divider}#{$value}', $value), $type, $value);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Text Alignment ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for text alignment (e.g., left, center, right).\r\n// The generation of these classes is controlled by the\r\n// `$useTextAligns` boolean variable.\r\n// Alignments are defined in `configs.$aligns`.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useTextAligns\r\n// @see configs.$aligns\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Text alignment classes:\r\n// - e.g., `.text-left`, `.text-center`, `.text-right`\r\n// - Responsive text alignment classes:\r\n// - e.g., `md:text-left`, `lg:text-center`\r\n//\r\n// @example scss - Configuration in configs.$aligns\r\n// configs.$aligns: (left, center, right, justify);\r\n//\r\n// @example css - Generated CSS (simplified)\r\n// .text-left { text-align: left; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useTextAligns {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir in configs.$aligns {\r\n // Validate parameters\r\n $checkedDir: val.listItem(configs.$aligns, $dir, 'Typographic.fonts.aligns');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}text-#{$dir}', 'text-#{$dir}');\r\n .#{$mainClass} {\r\n text-align: if($size, $dir !important, $dir);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Text Truncation ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for multi-line text truncation (ellipsis).\r\n// The generation of these classes is controlled by the\r\n// `$useTextTruncate` boolean variable.\r\n// The maximum number of lines is controlled by `$textTruncate`.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useTextTruncate\r\n// @see $textTruncate\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Text truncation classes:\r\n// - e.g., `.text-lines:1`, `.text-lines:2`, ... up to `$textTruncate`\r\n// - Responsive text truncation classes:\r\n// - e.g., `md:text-lines:1`, `lg:text-lines:2`\r\n//\r\n// @example scss - Configuration in $textTruncate\r\n// $textTruncate: 3;\r\n//\r\n// @example css - Generated CSS (simplified for .text-lines:2)\r\n// .text-lines\\:2 { /* Note: CSS escapes the colon */\r\n// display: -webkit-box;\r\n// -webkit-line-clamp: 2;\r\n// line-clamp: 2;\r\n// -webkit-box-orient: vertical;\r\n// overflow: hidden;\r\n// }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useTextTruncate {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $i in $textTruncate {\r\n $mainClass: if($size, '#{$size}#{$divider}text-lines#{\\:}#{$i}', 'text-lines#{\\:}#{$i}');\r\n\r\n .#{$mainClass} {\r\n display: -webkit-box;\r\n -webkit-line-clamp: #{$i};\r\n line-clamp: #{$i};\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:string';\r\n@use 'sass:map';\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/configs' as configs;\r\n\r\n// Definitions\r\n$fontMainPath: if(\r\n meta.variable-exists('vars.$fontMainPath') and vars.$fontMainPath,\r\n vars.$fontMainPath,\r\n defs.$fontMainPath\r\n);\r\n\r\n// Font Face Mixin\r\n// --------------------------------------\r\n// Generates an @font-face rule.\r\n//\r\n// @param {String} $title - The base name of the font (e.g., \"OpenSans\").\r\n// @param {String} $weight - The font weight key (e.g., \"regular\", \"bold\").\r\n// @param {String} $format - The font file format (e.g., \"woff2\").\r\n// @param {String} $style - The font style (e.g., \"normal\", \"italic\").\r\n// @param {Number} $index [0] - An index appended to the font-family name if multiple fonts share the same weight name.\r\n// @param {String | Null} $unicode [null] - Optional unicode range for the font.\r\n// @param {Boolean} $isLocal [true] - Whether the font is hosted locally or externally.\r\n// @param {String} $externalUrl [\"\"] - The URL for externally hosted fonts (if $isLocal is false).\r\n//\r\n// @example scss\r\n// @include font(\"OpenSans\", \"regular\", \"woff2\", \"normal\", 0, null, true);\r\n// // Generates:\r\n// // @font-face {\r\n// // font-family: \"regular\"; // Or \"regular-0\" if $index is 0 but other fonts exist with same weight\r\n// // font-weight: 400;\r\n// // font-style: normal;\r\n// // font-display: swap;\r\n// // src: local(\"OpenSans-regular\"),\r\n// // url(\"../fonts/OpenSans-regular.woff2\") format(\"woff2\");\r\n// // }\r\n//\r\n// @include font(\"Roboto\", \"bold\", \"ttf\", \"normal\", 1, \"U+000-5FF\", false, \"https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.ttf\");\r\n// // Generates:\r\n// // @font-face {\r\n// // font-family: \"bold-1\";\r\n// // font-weight: 700;\r\n// // font-style: normal;\r\n// // font-display: swap;\r\n// // src: url(\"https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.ttf\");\r\n// // unicode-range: U+000-5FF;\r\n// // }\r\n//\r\n@mixin font($title, $weight, $format, $style, $index: 0, $unicode: null, $isLocal: true, $externalUrl: '') {\r\n // Validate parameters\r\n $checkedIsLocal: val.boolean($isLocal, '#{$title}.font().local');\r\n $checkedTitle: val.string($title, '#{$title}.font().title');\r\n $checkedWeight: val.mapItem(\r\n configs.$fontWeightsValues,\r\n $weight,\r\n configs.$fontWeightsValues,\r\n 'Typographic.fontFace.weights.#{$weight}'\r\n );\r\n $checkedStyle: val.listItem(('normal', 'italic', 'oblique'), $style, '#{$title}.font().weights.#{$style}');\r\n $checkIndex: val.number($index, '#{$title}.font().index');\r\n $checkedFormat: val.string($format, '#{$title}.font().format');\r\n\r\n @if (not($isLocal)) {\r\n $checkedExternalUrl: val.string($externalUrl, 'Typographic.fontFace.externalUrl');\r\n }\r\n\r\n $name: if($index == 0, $title, '#{$title}-#{$index}');\r\n $weightValue: map.get(configs.$fontWeightsValues, $weight);\r\n\r\n @font-face {\r\n font-family: $name;\r\n font-weight: $weightValue;\r\n font-style: $style;\r\n font-display: swap;\r\n\r\n @if ($isLocal) {\r\n src:\r\n local('#{$title}-#{$weight}'),\r\n url(string.unquote('#{$fontMainPath}#{$title}-#{$weight}.#{$format}')) format('#{$format}');\r\n } @else {\r\n src: url(string.unquote('#{$externalUrl}'));\r\n }\r\n\r\n @if $unicode {\r\n // Validate parameters\r\n $checkedUnicode: val.string($unicode, '#{$title}.font().unicode');\r\n\r\n unicode-range: string.unquote($unicode);\r\n }\r\n }\r\n}\r\n\r\n// Font Shapes Mixin\r\n// --------------------------------------\r\n// Applies text transformation, decoration, or style properties to a class.\r\n//\r\n// @param {String} $class - The CSS class name to apply the style to.\r\n// @param {String} $type - The type of shape property (\"transform\", \"decoration\", \"styles\").\r\n// @param {String} $value - The value for the shape property (e.g., \"uppercase\", \"underline\", \"italic\").\r\n// @param {String | Null} $size [null] - Optional size prefix for responsive classes, determines if `!important` is added.\r\n//\r\n// @example scss\r\n// @include fontShapes(\"uppercase\", \"transform\", \"uppercase\");\r\n// // Generates:\r\n// // .uppercase {\r\n// // text-transform: uppercase;\r\n// // }\r\n//\r\n// @include fontShapes(\"md:underline\", \"decoration\", \"underline\", \"md\");\r\n// // Generates:\r\n// // .md\\\\:underline {\r\n// // text-decoration: underline !important;\r\n// // }\r\n//\r\n@mixin fontShapes($class, $type, $value) {\r\n $shapeList: map.get(configs.$fontShapes, $type);\r\n\r\n // Validate parameters\r\n $checkedType: val.mapItem(configs.$fontShapes, $type, configs.$fontShapes, 'fontShapes().#{$type}');\r\n $checkedValue: val.listItem($shapeList, $value, 'fontShapes().#{$value}');\r\n\r\n .#{$class} {\r\n @if $type == 'transform' {\r\n text-transform: $value;\r\n } @else if $type == 'decoration' {\r\n text-decoration: $value;\r\n } @else if $type == 'styles' {\r\n font-style: $value;\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use '../functions/mediaQueries' as mQ;\r\n@use '../settings/configs' as configs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/index' as settings;\r\n@use '../functions/others' as func;\r\n@use '../variables' as vars;\r\n\r\n// Definitions\r\n$useGrid: if(meta.variable-exists('vars.$useGrid') and vars.$useGrid, vars.$useGrid, settings.$useGrid);\r\n$useFlex: if(meta.variable-exists('vars.$useFlex') and vars.$useFlex, vars.$useFlex, settings.$useFlex);\r\n\r\n@if $useGrid {\r\n .grid {\r\n display: grid;\r\n\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @include func.gridDivision(column, $size, $divider);\r\n @include func.gridDivision(row, $size, $divider);\r\n }\r\n }\r\n}\r\n\r\n@if $useFlex {\r\n .flex {\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $property, $values in configs.$flexProperties {\r\n // Validate parameters\r\n $checkedProperty: val.listItem((flex-wrap, flex-direction), $property, 'flex.properties');\r\n\r\n @each $value in $values {\r\n // Validate parameters\r\n $checkedProperty: val.listItem(\r\n (wrap, nowrap, row, row-reverse, column, column-reverse),\r\n $value,\r\n 'flex.properties.values'\r\n );\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$value}, $value);\r\n\r\n &.#{$mainClass} {\r\n #{$property}: if($size, $value !important, $value);\r\n }\r\n }\r\n }\r\n\r\n &.row,\r\n &.row-reverse {\r\n @include func.flexDivision(width, 'cols', $size, $divider);\r\n @include func.flexDivision(width, 'col', $size, $divider);\r\n }\r\n &.column,\r\n &.column-reverse {\r\n @include func.flexDivision(height, 'rows', $size, $divider);\r\n @include func.flexDivision(height, 'row', $size, $divider);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useFlex or $useGrid {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $way, $selections in configs.$justify {\r\n @each $selection, $properties in $selections {\r\n @each $property in $properties {\r\n $mainClass: if($size, '#{$size}#{$divider}#{$way}-#{$selection}#{\\:}', '#{$way}-#{$selection}#{\\:}');\r\n\r\n .#{$mainClass} {\r\n $prefix: if($property == 'around' or $property == 'between' or $property == 'evenly', 'space-', '');\r\n $flexPrefix: if($property == 'start' or $property == 'end', 'flex-', '');\r\n $value: #{$prefix}#{$property};\r\n $flexValue: #{$flexPrefix}#{$value};\r\n\r\n &#{$property} {\r\n &.flex {\r\n #{$way}-#{$selection}: if($size, $flexValue !important, $flexValue);\r\n }\r\n\r\n #{$way}-#{$selection}: if($size, $value !important, $value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:map';\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n\r\n// Definitions\r\n$axisDivisions: if(\r\n meta.variable-exists('vars.$axisDivisions') and vars.$axisDivisions,\r\n vars.$axisDivisions,\r\n defs.$axisDivisions\r\n);\r\n\r\n// @function shadowValue\r\n// @description Converts a unitless number to a pixel value for shadows, unless the value is 0.\r\n// @param {Number} $value - The shadow value.\r\n// @return {String} The shadow value with \"px\" appended, or 0.\r\n@function shadowValue($value) {\r\n @return if($value != 0, #{$value}#{'px'}, $value);\r\n}\r\n\r\n// @mixin gridDivision\r\n// @description Generates CSS grid classes for creating grid layouts.\r\n// @param {String} $axis - The grid axis ('column' or 'row').\r\n// @param {String | Null} $size - A size prefix for the generated classes (e.g., 'sm', 'md').\r\n// @param {String} $divider - A divider string for the generated classes (e.g., '-').\r\n@mixin gridDivision($axis, $size, $divider) {\r\n // Validate parameters\r\n $checkedAxis: val.listItem((column, row), $axis, 'gridDivision.axis');\r\n $checkedBase: val.number($axisDivisions, 'gridDivision.axisDivisions');\r\n\r\n $type: if($axis == 'column', 'col', 'row');\r\n $mainClass: if($size, '#{$size}#{$divider}#{$type}s', '#{$type}s');\r\n $subClass: if($size, '#{$size}#{$divider}#{$type}', $type);\r\n\r\n @for $i from 0 through $axisDivisions {\r\n @if ($i > 0) {\r\n &.#{$mainClass}#{\\:}#{$i} {\r\n grid-template-#{$axis}s: repeat($i, 1fr);\r\n }\r\n }\r\n\r\n $axisProperty: if($i == 0, 'grid-#{$axis}-end', 'grid-#{$axis}');\r\n $class: if($i == 0, auto, $i);\r\n $value: if($i == 0, -1, 'span #{$i}');\r\n\r\n > .#{$subClass}#{\\:}#{$class} {\r\n #{$axisProperty}: #{$value};\r\n }\r\n }\r\n}\r\n\r\n// @mixin flexDivision\r\n// @description Generates CSS flexbox classes for creating flexible layouts.\r\n// @param {String} $axis - The flex axis ('width' or 'height').\r\n// @param {String} $type - The type of flex items ('col', 'cols', 'row', 'rows').\r\n// @param {String | Null} $size - A size prefix for the generated classes (e.g., 'sm', 'md').\r\n// @param {String} $divider - A divider string for the generated classes (e.g., '-').\r\n@mixin flexDivision($axis, $type, $size, $divider) {\r\n // Validate parameters\r\n $checkedAxis: val.listItem((width, height), $axis, 'flexDivision.axis');\r\n $checkedType: val.listItem(('col', 'cols', 'rows', 'row'), $type, 'flexDivision.type');\r\n $checkedBase: val.number($axisDivisions, 'flexDivision.axisDivisions');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}#{$type}', $type);\r\n\r\n @if (not $size) and $type == 'cols' or $type == 'rows' {\r\n > * {\r\n flex: 0 0 auto;\r\n max-#{$axis}: 100%;\r\n }\r\n }\r\n\r\n @for $i from 0 through $axisDivisions {\r\n @if $type == 'cols' or $type == 'rows' {\r\n $class: if($i == 0, auto, $i);\r\n $axisSize: if($i == 0, auto, calc(100% / $i));\r\n\r\n &.#{$mainClass}#{\\:}#{$class} > * {\r\n #{$axis}: if($size, $axisSize !important, $axisSize);\r\n }\r\n } @else if $type == 'col' or $type == 'row' {\r\n $axisSize: if($i == 0, 100%, calc(($i / $axisDivisions) * 100%));\r\n $class: if($i == 0, '', $i);\r\n $classSize: if($i == 0, #{$class}, #{\\:}#{$class});\r\n\r\n > .#{$mainClass}#{$classSize} {\r\n #{$axis}: if($size, $axisSize !important, $axisSize);\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:map';\r\n@use 'sass:list';\r\n@use 'sass:math';\r\n@use '../functions/mediaQueries' as mQ;\r\n@use '../settings/configs' as configs;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/index' as settings;\r\n@use '../functions/others' as func;\r\n@use '../variables' as vars;\r\n\r\n// Definitions\r\n$useWrappers: if(\r\n meta.variable-exists('vars.$useWrappers') and vars.$useWrappers,\r\n vars.$useWrappers,\r\n settings.$useWrappers\r\n);\r\n$wrappers: if(meta.variable-exists('vars.$wrappers') and vars.$wrappers, vars.$wrappers, defs.$wrappers);\r\n$useShadows: if(meta.variable-exists('vars.$useShadows') and vars.$useShadows, vars.$useShadows, settings.$useShadows);\r\n$useDisplays: if(\r\n meta.variable-exists('vars.$useDisplays') and vars.$useDisplays,\r\n vars.$useDisplays,\r\n settings.$useDisplays\r\n);\r\n$useOverflows: if(\r\n meta.variable-exists('vars.$useOverflows') and vars.$useOverflows,\r\n vars.$useOverflows,\r\n settings.$useOverflows\r\n);\r\n$useOpacities: if(\r\n meta.variable-exists('vars.$useOpacities') and vars.$useOpacities,\r\n vars.$useOpacities,\r\n settings.$useOpacities\r\n);\r\n$opacities: if(meta.variable-exists('vars.$opacities') and vars.$opacities, vars.$opacities, defs.$opacities);\r\n$useBlur: if(meta.variable-exists('vars.$useBlur') and vars.$useBlur, vars.$useBlur, settings.$useBlur);\r\n$blurValues: if(meta.variable-exists('vars.$blurValues') and vars.$blurValues, vars.$blurValues, defs.$blurValues);\r\n$useObjectFits: if(\r\n meta.variable-exists('vars.$useObjectFits') and vars.$useObjectFits,\r\n vars.$useObjectFits,\r\n settings.$useObjectFits\r\n);\r\n$usePositions: if(\r\n meta.variable-exists('vars.$usePositions') and vars.$usePositions,\r\n vars.$usePositions,\r\n settings.$usePositions\r\n);\r\n$useInsets: if(meta.variable-exists('vars.$useInsets') and vars.$useInsets, vars.$useInsets, settings.$useInsets);\r\n$insetValues: if(meta.variable-exists('vars.$insetValues') and vars.$insetValues, vars.$insetValues, defs.$insetValues);\r\n$useSizes: if(meta.variable-exists('vars.$useSizes') and vars.$useSizes, vars.$useSizes, settings.$useSizes);\r\n$useGutters: if(meta.variable-exists('vars.$useGutters') and vars.$useGutters, vars.$useGutters, settings.$useGutters);\r\n$guttersValues: if(\r\n meta.variable-exists('vars.$guttersValues') and vars.$guttersValues,\r\n vars.$guttersValues,\r\n defs.$guttersValues\r\n);\r\n$useBorders: if(meta.variable-exists('vars.$useBorders') and vars.$useBorders, vars.$useBorders, settings.$useBorders);\r\n$bordersValue: if(\r\n meta.variable-exists('vars.$bordersValue') and vars.$bordersValue,\r\n vars.$bordersValue,\r\n defs.$bordersValue\r\n);\r\n$useTextBorders: if(\r\n meta.variable-exists('vars.$useTextBorders') and vars.$useTextBorders,\r\n vars.$useTextBorders,\r\n settings.$useTextBorders\r\n);\r\n$useRadius: if(meta.variable-exists('vars.$useRadius') and vars.$useRadius, vars.$useRadius, settings.$useRadius);\r\n$radiuses: if(meta.variable-exists('vars.$radiuses') and vars.$radiuses, vars.$radiuses, defs.$radiuses);\r\n\r\n@if $useWrappers {\r\n @each $wSize, $properties in $wrappers {\r\n $mainWSize: if($wSize, '#{$wSize}#{\\:}wrapper', 'wrapper');\r\n\r\n $size: list.nth($properties, 1);\r\n $padding: if(list.nth($properties, 2), list.nth($properties, 2), 0);\r\n\r\n // Validate parameters\r\n $checkedSize: val.notNull($size, 'Wrappers.size');\r\n\r\n .#{$mainWSize} {\r\n width: 100%;\r\n\r\n @if ($padding != 0) {\r\n padding-inline: $padding;\r\n }\r\n\r\n @include mQ.mQ(min, md) {\r\n padding-inline: calc((100% - #{$size}) / 2 + $padding);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useShadows {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $class, $values in configs.$shadows {\r\n $x: map.get($values, x);\r\n $y: map.get($values, y);\r\n $blur: map.get($values, blur);\r\n $spread: map.get($values, spread);\r\n $opacity: map.get($values, opacity);\r\n\r\n // Validate parameters\r\n $checkedX: val.number($x, 'Shadows.x');\r\n $checkedY: val.number($y, 'Shadows.y');\r\n $checkedBlur: val.number($blur, 'Shadows.blur');\r\n $checkedSpread: val.number($spread, 'Shadows.spread');\r\n $checkedOpacity: val.opacity($opacity, 'Shadows.opacity');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}divider-#{$class}', 'divider-#{$class}');\r\n\r\n .#{$mainClass} {\r\n box-shadow: func.shadowValue($x)\r\n func.shadowValue($y)\r\n func.shadowValue($blur)\r\n func.shadowValue($spread)\r\n rgba(0, 0, 0, $opacity);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useDisplays {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $display in configs.$displays {\r\n // Validate parameters\r\n $checkedDisplay: val.listItem(configs.$displays, $display, 'Shaping.displays');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}d-#{$display}', 'd-#{$display}');\r\n\r\n .#{$mainClass} {\r\n display: if($size, $display !important, $display);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useOverflows {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir in configs.$overflowsDirections {\r\n // Validate parameters\r\n @if $dir {\r\n $checkedDir: val.listItem(('x', 'y'), $dir, 'Shaping.overflow.direction');\r\n }\r\n\r\n $dirClass: if($dir, '#{$dir}#{\\:}overflow', 'overflow');\r\n $mainClass: if($size, '#{$size}#{$divider}#{$dirClass}', $dirClass);\r\n $property: if($dir, 'overflow-#{$dir}', 'overflow');\r\n\r\n .#{$mainClass} {\r\n @each $value in configs.$overflows {\r\n // Validate parameters\r\n $checkedClass: val.listItem(configs.$overflows, $value, 'Shaping.overflow.value');\r\n\r\n &-#{$value} {\r\n #{$property}: if($size, $value !important, $value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useOpacities {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $value in $opacities {\r\n $checkedValue: val.opacity(math.div($value, 100), 'Shaping.opacity');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}op', 'op');\r\n\r\n .#{$mainClass}#{\\:}#{$value} {\r\n opacity: if($size, $checkedValue !important, $checkedValue);\r\n\r\n &#{\\:}hover:hover {\r\n opacity: if($size, $checkedValue !important, $checkedValue);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useBlur {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $value in $blurValues {\r\n $checkedValue: val.listItem($blurValues, $value, 'Shaping.blur');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}bg#{\\:}blur', 'bg#{\\:}blur');\r\n $calcValue: blur(#{$checkedValue}#{px});\r\n\r\n .#{$mainClass}#{\\:}#{$value} {\r\n backdrop-filter: if($size, $calcValue !important, $calcValue);\r\n\r\n &#{\\:}hover:hover {\r\n backdrop-filter: if($size, $calcValue !important, $calcValue);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useObjectFits {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $fit in configs.$objectsFits {\r\n // Validate parameters\r\n $checkedFit: val.listItem(configs.$objectsFits, $fit, 'Shaping.objectFit');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}object-fit', 'object-fit');\r\n\r\n .#{$mainClass}#{\\:}#{$fit} {\r\n object-fit: if($size, $fit !important, $fit);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $usePositions {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $position in configs.$positions {\r\n // Validate parameters\r\n $checkedPosition: val.listItem(configs.$positions, $position, 'Shaping.position');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}p-', 'p-');\r\n\r\n .#{$mainClass}#{$position} {\r\n position: if($size, $position !important, $position);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useInsets {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $value in $insetValues {\r\n @each $position in configs.$insetPositions {\r\n // Validate parameters\r\n $checkedPosition: val.listItem(configs.$insetPositions, $position, 'Shaping.inset');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}inset', 'inset');\r\n $posClass: if($position, '#{$mainClass}-#{$position}', '#{$mainClass}');\r\n $property: if($position, 'inset-#{$position}', 'inset');\r\n $val: if($value == 0, 'full', $value);\r\n\r\n .#{$posClass}#{\\:}#{$val} {\r\n #{$property}: $value;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useSizes {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir, $direction in configs.$spacesDirections {\r\n // Validate parameters\r\n $checkedDir: val.listItem(\r\n ('w', 'min#{\\:}w', 'max#{\\:}w', 'h', 'min#{\\:}h', 'max#{\\:}h'),\r\n $dir,\r\n 'Shaping.space.direction'\r\n );\r\n $checkedDirection: val.listItem(\r\n ('width', 'min-width', 'max-width', 'height', 'min-height', 'max-height'),\r\n $direction,\r\n 'Shaping.space.direction'\r\n );\r\n $checkedStep: val.number(configs.$spacesStep, 'Shaping.space.step');\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$dir}, $dir);\r\n\r\n .#{$mainClass} {\r\n @for $i from 0 through 100 {\r\n $value: $i * $checkedStep;\r\n\r\n @if ($value != 0) and ($value % $checkedStep == 0) and ($value <= 100) {\r\n &#{\\:}#{$value} {\r\n #{$direction}: if($size, #{$value}#{'%'} !important, #{$value}#{'%'});\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useGutters {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $class, $property in configs.$gutters {\r\n // Validate parameters\r\n $checkedClass: val.listItem(\r\n (p, px, py, ps, pe, pt, pb, m, mx, my, ms, me, mt, mb, g, gx, gy),\r\n $class,\r\n 'Shaping.gutter.class'\r\n );\r\n $checkedProperty: val.listItem(\r\n (\r\n padding,\r\n padding-inline,\r\n padding-block,\r\n padding-inline-start,\r\n padding-inline-end,\r\n padding-block-start,\r\n padding-block-end,\r\n margin,\r\n margin-inline,\r\n margin-block,\r\n margin-inline-start,\r\n margin-inline-end,\r\n margin-block-start,\r\n margin-block-end,\r\n gap,\r\n column-gap,\r\n row-gap\r\n ),\r\n $property,\r\n 'Shaping.gutter.property'\r\n );\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$class}, $class);\r\n\r\n .#{$mainClass} {\r\n @each $vClass, $value in $guttersValues {\r\n &-#{$vClass} {\r\n @if $size {\r\n #{$property}: if($size, $value !important, $value);\r\n } @else {\r\n #{$property}: $value;\r\n\r\n &\\:i {\r\n /* stylelint-disable declaration-no-important */\r\n #{$property}: $value !important;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useBorders {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $i in $bordersValue {\r\n @each $dir, $property in configs.$bordersDirections {\r\n // Validate parameters\r\n $checkedDir: val.listItem((null, 'top', 'bottom', 'start', 'end'), $dir, 'Shaping.borders');\r\n $checkedProperty: val.listItem(\r\n (border, border-block-start, border-block-end, border-inline-start, border-inline-end),\r\n $property,\r\n 'Shaping.borders'\r\n );\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}border', 'border');\r\n $dirClass: if($dir, '#{$dir}#{\\:}', $dir);\r\n\r\n .#{$mainClass}#{\\:}#{$dirClass}#{$i} {\r\n #{$property}-width: if($size, #{$i}#{px} !important, #{$i}#{px});\r\n\r\n @if not $size {\r\n #{$property}-style: if($size, solid !important, solid);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useTextBorders {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $i in $bordersValue {\r\n $mainClass: if($size, '#{$size}#{$divider}stroke', 'stroke');\r\n $value: math.div($i, 10);\r\n\r\n // Validate parameters\r\n $checkedValue: val.number($value, 'Shaping.textBorder');\r\n\r\n .#{$mainClass}#{\\:}#{$i} {\r\n -webkit-text-stroke-width: if($size, #{$value}#{px} !important, #{$value}#{px});\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useRadius {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir, $properties in configs.$radiusDirection {\r\n // Validate parameters\r\n $checkedDir: val.listItem(\r\n (null, 'top', 'bottom', 'start', 'end', 'top-start', 'top-end', 'bottom-start', 'bottom-end'),\r\n $dir,\r\n 'Shaping.radius.direction'\r\n );\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}radius', 'radius');\r\n $dirClass: if($dir, '#{$dir}#{\\:}', $dir);\r\n\r\n @each $property in $properties {\r\n .#{$mainClass}#{\\:}#{$dirClass} {\r\n &full {\r\n #{$property}: if($size, 100vw !important, 100vw);\r\n }\r\n\r\n @each $value in $radiuses {\r\n // Validate parameters\r\n $checkedProperty: val.listItem(\r\n (\r\n border-radius,\r\n border-start-start-radius,\r\n border-start-end-radius,\r\n border-end-start-radius,\r\n border-end-end-radius\r\n ),\r\n $property,\r\n 'Shaping.radius.property'\r\n );\r\n\r\n &#{$value} {\r\n #{$property}: if($size, #{$value}#{px} !important, #{$value}#{'px'});\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/scss/beathers.min.scss","../../src/scss/style/_resets.scss","../../src/scss/settings/_configs.scss","../../src/scss/functions/_colors.scss","../../src/scss/style/_colors.scss","../../src/scss/style/_typographic.scss","../../src/scss/functions/_typographic.scss","../../src/scss/style/_grid.scss","../../src/scss/functions/_others.scss","../../src/scss/style/_shaping.scss"],"names":[],"mappings":"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ADF,aACE,iBADF,UACE,mBADF,kBACE,2BADF,aACE,sBADF,qBACE,8BCsBR,gCACE,cACA,eASA,sDACE,WADF,gDACE,WADF,gDACE,UADF,gDACE,qBADF,gDACE,UADF,gDACE,UADF,gDACE,qBADF,gDACE,qBADF,gDACE,YADF,gDACE,qBADF,kDACE,UADF,kDACE,oBADF,kDACE,oBAOF,sCACE,WADF,4CACE,oBADF,4CACE,qBADF,4CACE,UADF,4CACE,qBADF,4CACE,qBADF,4CACE,UADF,4CACE,qBADF,4CACE,qBADF,4CACE,UADF,8CACE,qBADF,8CACE,qBADF,8CACE,WApBJ,sCACE,cACA,gBASA,4DACE,YADF,sDACE,YADF,sDACE,WADF,sDACE,sBADF,sDACE,WADF,sDACE,WADF,sDACE,sBADF,sDACE,sBADF,sDACE,aADF,sDACE,sBADF,wDACE,WADF,wDACE,qBADF,wDACE,qBAOF,4CACE,YADF,kDACE,qBADF,kDACE,sBADF,kDACE,WADF,kDACE,sBADF,kDACE,sBADF,kDACE,WADF,kDACE,sBADF,kDACE,sBADF,kDACE,WADF,oDACE,sBADF,oDACE,sBADF,oDACE,YDVI,wBAKE,sBAJA,6BACE,2BAFJ,yBAKE,uBAJA,8BACE,uBAFJ,sBAKE,oBAJA,2BACE,yBAFJ,0BAKE,8BAJA,+BACE,8BAFJ,yBAKE,6BAJA,8BACE,6BAFJ,yBAKE,6BAJA,8BACE,6BAFJ,oBAKE,kBAJA,yBACE,kBAFJ,sBAKE,oBAJA,2BACE,oBAFJ,uBAKE,qBAJA,4BACE,qBAFJ,sBAKE,oBAJA,2BACE,yBAFJ,uBAKE,qBAJA,4BACE,qBAFJ,oBAKE,kBAJA,yBACE,uBAFJ,uBAKE,2BAJA,4BACE,2BAFJ,wBAKE,4BAJA,6BACE,4BAFJ,wBAKE,sBAJA,6BACE,sBAFJ,oBAKE,kBAJA,yBACE,uBAFJ,qBAKE,mBAJA,0BACE,mBAFJ,kBAKE,gBAJA,uBACE,qBAFJ,sBAKE,oBAJA,2BACE,oBAFJ,uBAKE,qBAJA,4BACE,qBAFJ,kBAKE,gBAJA,uBACE,gBAFJ,mBAKE,iBAJA,wBACE,sBAFJ,oBAKE,kBAJA,yBACE,kBAFJ,iBAKE,eAJA,sBACE,oBAFJ,qBAKE,mBAJA,0BACE,mBAFJ,sBAKE,oBAJA,2BACE,oBEEZ,SACE,WAGE,eATM,OAaN,8CARJ,aACE,WAGE,eATM,KAaN,6CARJ,aACE,WAGE,eATM,KAaN,6CARJ,aACE,WAGE,eATM,KAaN,6CARJ,aACE,WAGE,eATM,KAaN,8CARJ,cACE,WAGE,eATM,KAaN,8CAwBF,eACE,uCADF,cACE,yCADF,gBACE,wCADF,eACE,uCADF,iBACE,wCADF,cACE,wCADF,kBACE,yCAkBF,UACE,eADF,SACE,cADF,gBACE,qBADF,QACE,aADF,eACE,oBADF,eACE,oBADF,SACE,cADF,cACE,mBADF,QACE,aAuBE,kBACE,iBADF,iBACE,gBADF,eACE,cADF,iBACE,gBADF,qBACE,mBADF,oBACE,kBADF,kBACE,gBADF,oBACE,kBADF,qBACE,mBADF,oBACE,kBADF,kBACE,gBADF,oBACE,kBAeN,QACE,YAEA,qBACE,YAJJ,QACE,YAEA,qBACE,YAJJ,QACE,WAEA,qBACE,WAJJ,QACE,WAEA,qBACE,WAeJ,aACE,0BAEA,0BACE,0BAJJ,aACE,0BAEA,0BACE,0BAJJ,cACE,2BAEA,2BACE,2BAeJ,mBACE,iBADF,kBACE,gBADF,qBACE,mBADF,kBACE,gBAcF,UACE,gBADF,YACE,kBADF,SACE,eADF,YACE,kBADF,UACE,gBAkBA,aACE,MApMI,EAmMN,oBACE,aApMI,EAmMN,mBACE,YApMI,EAmMN,UACE,MApMI,EAmMN,iBACE,aApMI,EAmMN,gBACE,YApMI,EAkOF,MACE,SADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,OACE,UADF,QACE,WADF,WACE,aADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,aACE,eADF,WACE,aADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,YACE,cADF,aACE,eADF,MACE,UADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,OACE,WADF,QACE,YADF,WACE,cADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,aACE,gBADF,WACE,cADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,YACE,eADF,aACE,gBA8CJ,QAII,QAlRE,KAoRF,WAEE,wBARN,KAII,QAlRE,OAoRF,QAEE,0BARN,KAII,QAlRE,MAoRF,QAEE,yBARN,KAII,QAlRE,OAoRF,QAEE,0BARN,KAII,QAlRE,KAoRF,QAEE,wBARN,KAII,QAlRE,OAoRF,QAEE,0BARN,KAII,QAlRE,KAoRF,QAEE,wBARN,SAII,eAlRE,KAoRF,YAEE,+BARN,MAII,eAlRE,OAoRF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","file":"beathers.min.css","sourcesContent":["/*!\r\n* Beathers v5.3.4 (https://bhoenixstudio.com/beathers)\r\n* Copyright 2020-2025 Bhoenix Studio\r\n*/\r\n\r\n// Style ----- ----- ----- -----\r\n@use './style/resets';\r\n@use './style/colors';\r\n@use './style/typographic';\r\n@use './style/grid';\r\n@use './style/shaping';\r\n","@use 'sass:meta';\r\n@use '../settings/configs' as configs;\r\n@use '../variables' as vars;\r\n@use '../functions/colors' as colors;\r\n@use '../settings/index' as settings;\r\n\r\n// Definitions\r\n$useColors: if(meta.variable-exists('vars.$useColors') and vars.$useColors, vars.$useColors, settings.$useColors);\r\n$useColorsLightMode: if(\r\n meta.variable-exists('vars.$useColorsLightMode') and vars.$useColorsLightMode,\r\n vars.$useColorsLightMode,\r\n settings.$useColorsLightMode\r\n);\r\n$useColorsDarkMode: if(\r\n meta.variable-exists('vars.$useColorsDarkMode') and vars.$useColorsDarkMode,\r\n vars.$useColorsDarkMode,\r\n settings.$useColorsDarkMode\r\n);\r\n\r\nhtml {\r\n scroll-behavior: smooth;\r\n interpolate-size: allow-keywords;\r\n}\r\n\r\nbody {\r\n position: relative;\r\n /* stylelint-disable font-family-no-missing-generic-family-keyword */\r\n font-family: 'regular';\r\n overflow-x: hidden;\r\n}\r\n\r\n*,\r\n::before,\r\n::after {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n:focus,\r\nbutton:focus {\r\n outline: unset;\r\n box-shadow: unset;\r\n}\r\n\r\nul {\r\n margin: unset;\r\n list-style: none;\r\n padding: 0;\r\n\r\n li {\r\n margin-bottom: unset;\r\n }\r\n}\r\n\r\na {\r\n text-decoration: unset;\r\n}\r\n\r\n@if $useColors {\r\n @if $useColorsLightMode {\r\n .light::selection {\r\n background-color: colors.useColorWithMap('custom-2');\r\n color: colors.useColorWithMap('white');\r\n }\r\n }\r\n @if $useColorsDarkMode {\r\n .dark::selection {\r\n background-color: colors.useColorWithMap('custom-2', 'dark');\r\n color: colors.useColorWithMap('black');\r\n }\r\n }\r\n}\r\n\r\n::-webkit-scrollbar {\r\n width: 6px;\r\n\r\n &-track {\r\n background-color: transparent;\r\n border-radius: unset;\r\n }\r\n &-thumb {\r\n border-radius: 100vw;\r\n }\r\n}\r\n@if $useColors {\r\n @if $useColorsLightMode {\r\n .light::-webkit-scrollbar-thumb {\r\n background: colors.useColorWithMap('third');\r\n }\r\n }\r\n @if $useColorsDarkMode {\r\n .dark::-webkit-scrollbar-thumb {\r\n background: colors.useColorWithMap('third', 'dark');\r\n }\r\n }\r\n}\r\n\r\n@each $option, $properties in configs.$clearanceOptions {\r\n @each $property, $value in $properties {\r\n .i\\:#{$option} {\r\n /* stylelint-disable declaration-no-important */\r\n #{$property}: $value !important;\r\n }\r\n .#{$option} {\r\n #{$property}: $value;\r\n }\r\n }\r\n}\r\n\r\n@each $cursor in configs.$cursors {\r\n .cursor#{\\:}#{$cursor} {\r\n cursor: #{$cursor};\r\n }\r\n}\r\n\r\n.scroll-smooth {\r\n scroll-behavior: smooth;\r\n}\r\n","// Core configuration maps and variables for the Beathers Design System.\r\n\r\n// Defines CSS properties for color utilities.\r\n$colorsPropertiesMap: (\r\n null: color,\r\n bg: background-color,\r\n border: border-color,\r\n fill: fill,\r\n stroke: stroke,\r\n text-stroke: -webkit-text-stroke-color,\r\n);\r\n\r\n// Defines pseudo-classes for color variants.\r\n$colorsPseudoMap: (\r\n 'placeholder': '::placeholder',\r\n 'hover': ':hover',\r\n 'focus': ':focus',\r\n);\r\n\r\n// Defines available font weights.\r\n$fontWeightsValues: (\r\n 'thin': 100,\r\n 'extra-light': 200,\r\n 'light': 300,\r\n 'regular': 400,\r\n 'medium': 500,\r\n 'semibold': 600,\r\n 'bold': 700,\r\n 'extra-bold': 800,\r\n 'black': 900,\r\n);\r\n\r\n// Defines text transformation and decoration options.\r\n$fontShapes: (\r\n 'transform': (\r\n uppercase,\r\n lowercase,\r\n capitalize,\r\n ),\r\n 'decoration': (\r\n underline,\r\n line-through,\r\n ),\r\n 'styles': (\r\n wavy,\r\n double,\r\n dotted,\r\n dashed,\r\n ),\r\n);\r\n\r\n// Defines text alignment options.\r\n$aligns: (left, start, right, end, justify, center);\r\n\r\n// Defines flexbox properties.\r\n$flexProperties: (\r\n flex-wrap: wrap nowrap,\r\n flex-direction: row row-reverse column column-reverse,\r\n);\r\n\r\n// Defines display utility options.\r\n$displays: (inline, block, inline-block, flex, inline-flex, inline-grid, table, table-cell, none);\r\n\r\n// Defines overflow directions.\r\n$overflowsDirections: (null, 'x', 'y');\r\n// Defines overflow behaviors.\r\n$overflows: (visible, hidden, auto, scroll);\r\n// Defines object-fit property values.\r\n$objectsFits: (cover, fill, contain, none);\r\n\r\n// Defines available cursor types.\r\n$cursors: (\r\n alias,\r\n auto,\r\n cell,\r\n context-menu,\r\n copy,\r\n crosshair,\r\n default,\r\n grab,\r\n grabbing,\r\n help,\r\n move,\r\n no-drop,\r\n none,\r\n not-allowed,\r\n pointer,\r\n progress,\r\n col-resize,\r\n row-resize,\r\n text,\r\n wait,\r\n zoom-in,\r\n zoom-out\r\n);\r\n\r\n// Defines shadow presets.\r\n$shadows: (\r\n 'light': (\r\n x: 0,\r\n y: 2,\r\n blur: 5,\r\n spread: 0,\r\n opacity: 0.15,\r\n ),\r\n 'soft': (\r\n x: 2,\r\n y: 2,\r\n blur: 12,\r\n spread: 0,\r\n opacity: 0.2,\r\n ),\r\n 'medium': (\r\n x: 0,\r\n y: 10,\r\n blur: 20,\r\n spread: 0,\r\n opacity: 0.2,\r\n ),\r\n 'solid': (\r\n x: 0,\r\n y: 4,\r\n blur: 10,\r\n spread: 0,\r\n opacity: 0.3,\r\n ),\r\n 'ambient': (\r\n x: 0,\r\n y: 0,\r\n blur: 40,\r\n spread: 10,\r\n opacity: 0.1,\r\n ),\r\n 'flat': (\r\n x: 0,\r\n y: 6,\r\n blur: 6,\r\n spread: 4,\r\n opacity: 0.2,\r\n ),\r\n 'floating': (\r\n x: 0,\r\n y: 20,\r\n blur: 40,\r\n spread: 0,\r\n opacity: 0.15,\r\n ),\r\n);\r\n\r\n// Defines utility classes for clearing properties.\r\n$clearanceOptions: (\r\n no-bg: (\r\n background: unset,\r\n background-color: unset,\r\n ),\r\n no-border: (\r\n border: unset,\r\n ),\r\n no-radius: (\r\n border-radius: unset,\r\n ),\r\n no-events: (\r\n pointer-events: none,\r\n ),\r\n no-position: (\r\n position: unset,\r\n ),\r\n);\r\n\r\n// Defines available position values.\r\n$positions: static, relative, fixed, absolute, sticky;\r\n\r\n// Defines inset positioning options.\r\n$insetPositions: null, inline, block;\r\n\r\n// Defines the step for spacing utilities.\r\n$spacesStep: 5;\r\n\r\n// Defines properties for width and height utilities.\r\n$spacesDirections: (\r\n 'w': width,\r\n 'min#{\\:}w': min-width,\r\n 'max#{\\:}w': max-width,\r\n 'h': height,\r\n 'min#{\\:}h': min-height,\r\n 'max#{\\:}h': max-height,\r\n);\r\n\r\n// Defines properties for padding, margin and gap utilities.\r\n$gutters: (\r\n p: padding,\r\n px: padding-inline,\r\n py: padding-block,\r\n ps: padding-inline-start,\r\n pe: padding-inline-end,\r\n pt: padding-block-start,\r\n pb: padding-block-end,\r\n m: margin,\r\n mx: margin-inline,\r\n my: margin-block,\r\n ms: margin-inline-start,\r\n me: margin-inline-end,\r\n mt: margin-block-start,\r\n mb: margin-block-end,\r\n g: gap,\r\n gx: column-gap,\r\n gy: row-gap,\r\n);\r\n\r\n// Defines border direction properties.\r\n$bordersDirections: (\r\n null: border,\r\n 'top': border-block-start,\r\n 'bottom': border-block-end,\r\n 'start': border-inline-start,\r\n 'end': border-inline-end,\r\n);\r\n\r\n// Defines border-radius direction properties.\r\n$radiusDirection: (\r\n null: (\r\n border-radius,\r\n ),\r\n 'top': (\r\n border-start-start-radius,\r\n border-start-end-radius,\r\n ),\r\n 'bottom': (\r\n border-end-start-radius,\r\n border-end-end-radius,\r\n ),\r\n 'start': (\r\n border-start-start-radius,\r\n border-end-start-radius,\r\n ),\r\n 'end': (\r\n border-start-end-radius,\r\n border-end-end-radius,\r\n ),\r\n 'top-start': (\r\n border-start-start-radius,\r\n ),\r\n 'top-end': (\r\n border-start-end-radius,\r\n ),\r\n 'bottom-start': (\r\n border-end-start-radius,\r\n ),\r\n 'bottom-end': (\r\n border-end-end-radius,\r\n ),\r\n);\r\n\r\n$justify: (\r\n justify: (\r\n content: (\r\n start,\r\n center,\r\n end,\r\n between,\r\n around,\r\n evenly,\r\n ),\r\n self: (\r\n auto,\r\n center,\r\n stretch,\r\n ),\r\n ),\r\n align: (\r\n content: (\r\n start,\r\n center,\r\n end,\r\n around,\r\n between,\r\n stretch,\r\n ),\r\n items: (\r\n start,\r\n center,\r\n end,\r\n stretch,\r\n baseline,\r\n ),\r\n self: (\r\n auto,\r\n start,\r\n center,\r\n end,\r\n stretch,\r\n baseline,\r\n ),\r\n ),\r\n);\r\n","@use 'sass:meta';\r\n@use 'sass:color';\r\n@use 'sass:math';\r\n@use 'sass:list';\r\n@use 'sass:map';\r\n@use '../settings/configs' as configs;\r\n@use '../settings/index' as settings;\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n\r\n// Definitions\r\n$colors: if(meta.variable-exists('vars.$colors') and vars.$colors, vars.$colors, defs.$colors);\r\n$opacities: if(meta.variable-exists('vars.$opacities') and vars.$opacities, vars.$opacities, defs.$opacities);\r\n$useColorsLightMode: if(\r\n meta.variable-exists('vars.$useColorsLightMode') and vars.$useColorsLightMode,\r\n vars.$useColorsLightMode,\r\n settings.$useColorsLightMode\r\n);\r\n$useColorsDarkMode: if(\r\n meta.variable-exists('vars.$useColorsDarkMode') and vars.$useColorsDarkMode,\r\n vars.$useColorsDarkMode,\r\n settings.$useColorsDarkMode\r\n);\r\n$useColorsOpacities: if(\r\n meta.variable-exists('vars.$useColorsOpacities') and vars.$useColorsOpacities,\r\n vars.$useColorsOpacities,\r\n settings.$useColorsOpacities\r\n);\r\n\r\n// Color Convertors ----- ----- ----- -----\r\n//\r\n// @function hexToRgba\r\n// --------------------------------------\r\n// Converts a hex color value to RGBA format\r\n//\r\n// @param {Color} $color - The hex color to convert (e.g. '#ffffff' or '#fff')\r\n// @param {Number} $opacity - Optional opacity value between 0 and 1 (default: 1)\r\n// @return {Color} - The color in rgba() format\r\n//\r\n// @example scss\r\n// color: hexToRgba('#ffffff');\r\n// // Returns rgba(255, 255, 255, 1)\r\n// color: hexToRgba('#ffffff', 0.5);\r\n// // Returns rgba(255, 255, 255, 0.5)\r\n// color: hexToRgba('#ffffff80');\r\n// // Returns rgba(255, 255, 255, 0.5)\r\n//\r\n@function hexToRgba($color, $opacity: 1, $debugIn: null) {\r\n // Validate parameters\r\n $checkedColor: val.hexColor('color', $color, 'hexToRgba().#{$debugIn}');\r\n $checkedOpacity: val.opacity($opacity, 'hexToRgba().#{$debugIn}');\r\n\r\n @return rgba(\r\n color.channel($checkedColor, 'red', $space: rgb),\r\n color.channel($checkedColor, 'green', $space: rgb),\r\n color.channel($checkedColor, 'blue', $space: rgb),\r\n $checkedOpacity\r\n );\r\n}\r\n\r\n// Use Color ----- ----- ----- -----\r\n//\r\n// @function useColor\r\n// --------------------------------------\r\n// Retrieves a color from any color map with optional variant and opacity\r\n//\r\n// @param {String} $color - The color key to retrieve from the map\r\n// @param {String} $mode - Optional mode, must be 'light' or 'dark' (default: 'light')\r\n// @param {Number} $opacity - Optional opacity value between 0 and 100 (default: 100)\r\n// @param {Map} $map - Optional color map to use (defaults to $colors)\r\n// @return {Color} - The color value, possibly with applied opacity\r\n// @throws {Error} - If mode is provided but isn't 'light' or 'dark'\r\n// @throws {Error} - If opacity is provided but isn't a number between 0 and 100\r\n//\r\n// @example scss\r\n// // Using default color map ($colors)\r\n// color: useColor('primary', 'light', 0.5);\r\n// // Returns the light variant of primary color with 50% opacity\r\n//\r\n// // Using a custom color map\r\n// color: useColor('secondary', 'dark', null, $customMap);\r\n// // Returns the dark variant of secondary color from custom map\r\n//\r\n@function useColor($color, $mode: 'light', $opacity: 100) {\r\n // Validate parameters\r\n $checkedMode: val.colorMode($mode, 'useColor()');\r\n $checkedOpacity: val.colorOpacity($opacity, 'useColor()');\r\n\r\n @if $color {\r\n $value: map.get($color, $mode);\r\n\r\n @if $checkedOpacity {\r\n @return hexToRgba($value, math.div($opacity, 100), 'useColor().#{$value}');\r\n } @else {\r\n @return $value;\r\n }\r\n } @else {\r\n @return null;\r\n }\r\n}\r\n\r\n@function useColorWithMap($color, $mode: 'light', $opacity: 100, $map: $colors) {\r\n // Validate parameters\r\n $checkedMap: val.map($map, 'useColorWithMap().map');\r\n\r\n $colorValue: map.get($checkedMap, $color);\r\n @return useColor($colorValue, $mode, $opacity);\r\n}\r\n\r\n// @mixin useColorProperty\r\n// --------------------------------------\r\n// Applies color properties with theme variant support while handling light/dark themes\r\n// and creating appropriate CSS selectors for different use cases.\r\n//\r\n// @param {String} $colorClass - The CSS class name to apply the color to (e.g., 'color-1', 'bg\\:color-1')\r\n// @param {String|Null} $class - The CSS class prefix (e.g., 'bg', 'border', null for 'color')\r\n// @param {String} $property - The CSS property to set (e.g., 'color', 'background-color')\r\n// @param {Map} $color - The color map with light/dark variants\r\n// @param {Map} $map - The parent color map containing all colors\r\n// @param {Number} $opacity - Optional opacity value between 0-100 (default: 100)\r\n// @throws {Error} - If provided parameters fail validation through val.* functions\r\n//\r\n// @example scss\r\n// // Apply primary color as text color with 50% opacity\r\n// @include useColorProperty(\"color-1\", null, \"color\", $primaryColor, $colorsMap, 50);\r\n//\r\n// // Apply primary color as background with full opacity\r\n// @include useColorProperty(\"bg\\:color-1\", \"bg\", \"background-color\", $primaryColor, $colorsMap);\r\n//\r\n// Generated Selectors:\r\n// Each call to this mixin generates three CSS selectors to support different theming approaches:\r\n//\r\n// 1. Parent/child relationship: `.light .className`, `.dark .className`\r\n// For theme inheritance from parent elements\r\n// Example: <div class=\"light\"><span class=\"color-1\">Themed text</span></div>\r\n//\r\n// 2. Modifier class: `.className.light`, `.className.dark`\r\n// For direct theme application to the element itself\r\n// Example: <span class=\"color-1 light\">Themed text</span>\r\n//\r\n// 3. Prefixed class: `.light\\:className`, `.dark\\:className`\r\n// For utility-first CSS approaches\r\n// Example: <span class=\"light\\:color-1\">Themed text</span>\r\n//\r\n// Note: When light and dark variants are identical, a single class without theme\r\n// modifiers is generated to reduce CSS output size.\r\n@mixin useColorProperty($colorClass, $class, $property, $color, $map, $opacity: 100) {\r\n // Validate parameters\r\n $checkedClass: val.colorClass($class, 'useColorProperty().class');\r\n $checkedProperty: val.colorProperty($property, 'useColorProperty().property');\r\n $checkedMap: val.map($map, 'useColorProperty().map');\r\n $checkedOpacity: val.colorOpacity($opacity, 'useColorProperty().opacity');\r\n $checkedLight: val.mapItem($color, 'light', 'light/dark', 'useColorProperty().color');\r\n $checkedDark: val.mapItem($color, 'dark', 'light/dark', 'useColorProperty().color');\r\n\r\n $light: map.get($color, 'light');\r\n $dark: map.get($color, 'dark');\r\n\r\n $checkedLightValue: val.hexColor('#{$colorClass}.light', $light, 'root-colors()');\r\n $checkedDarkValue: val.hexColor('#{$colorClass}.dark', $dark, 'root-colors()');\r\n\r\n @if $light and $dark and $dark != $light {\r\n @if ($useColorsLightMode) {\r\n .light .#{$colorClass},\r\n .#{$colorClass}.light,\r\n .light\\:#{$colorClass} {\r\n #{$property}: useColor($color, 'light', $opacity);\r\n }\r\n }\r\n\r\n @if ($useColorsDarkMode) {\r\n .dark .#{$colorClass},\r\n .#{$colorClass}.dark,\r\n .dark\\:#{$colorClass} {\r\n #{$property}: useColor($color, 'dark', $opacity);\r\n }\r\n }\r\n } @else {\r\n .#{$colorClass} {\r\n #{$property}: useColor($color, if($light, 'light', 'dark'), $opacity);\r\n }\r\n }\r\n}\r\n\r\n// Use Colors Map ----- ----- ----- -----\r\n//\r\n// @mixin useColorsMap\r\n// --------------------------------------\r\n// Creates color utility classes using useColor() function for theme variant handling\r\n// @param {Map} $map - The color map to use (e.g., $colors)\r\n// @param {Boolean} $withOpacity - Whether to generate opacity variants (default: true)\r\n// @throws {Error} - If $map is not a valid map\r\n//\r\n// @example scss\r\n// @include useColorsMap($themeColors);\r\n// // Creates all color classes with theme support\r\n// // Generated classes include:\r\n// // .color-[colorName], .bg-color-[colorName], .border-color-[colorName]\r\n// // With theme variants like .light, .dark\r\n// // With optional opacity variants like :50, :75\r\n// // With pseudo-class variants like :hover, :focus\r\n//\r\n@mixin useColorsMap($map: $colors, $withOpacity: true) {\r\n // Validate parameters\r\n $checkedMap: val.map($map, 'useColorsMap()');\r\n $checkedWithOpacity: val.boolean($withOpacity, 'useColorsMap()');\r\n\r\n @each $color, $modes in $checkedMap {\r\n @if $color {\r\n @each $class, $property in configs.$colorsPropertiesMap {\r\n $mainClass: if($class, '#{$class}#{\\:}color-#{$color}', 'color-#{$color}');\r\n\r\n @include useColorProperty($mainClass, $class, $property, $modes, $map);\r\n\r\n @if $checkedWithOpacity and $useColorsOpacities {\r\n @each $opacity in $opacities {\r\n @include useColorProperty('#{$mainClass}#{\\:}#{$opacity}', $class, $property, $modes, $map, $opacity);\r\n }\r\n }\r\n\r\n @each $pseudoClass, $pseudo in configs.$colorsPseudoMap {\r\n @if $pseudoClass != 'placeholder' or ($pseudoClass == 'placeholder' and $class == null) {\r\n @include useColorProperty('#{$mainClass}#{\\:}#{$pseudoClass}#{$pseudo}', $class, $property, $modes, $map);\r\n\r\n @if $checkedWithOpacity and $useColorsOpacities {\r\n @each $opacity in $opacities {\r\n @include useColorProperty(\r\n '#{$mainClass}#{\\:}#{$opacity}#{\\:}#{$pseudoClass}#{$pseudo}',\r\n $class,\r\n $property,\r\n $modes,\r\n $map,\r\n $opacity\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:map';\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/configs' as configs;\r\n@use '../functions/colors' as colors;\r\n@use '../settings/index' as settings;\r\n\r\n// Definitions\r\n$useColors: if(meta.variable-exists('vars.$useColors') and vars.$useColors, vars.$useColors, settings.$useColors);\r\n$useCurrentColors: if(\r\n meta.variable-exists('vars.$useCurrentColors') and vars.$useCurrentColors,\r\n vars.$useCurrentColors,\r\n settings.$useCurrentColors\r\n);\r\n$useRootColors: if(\r\n meta.variable-exists('vars.$useRootColors') and vars.$useRootColors,\r\n vars.$useRootColors,\r\n settings.$useRootColors\r\n);\r\n$colors: if(meta.variable-exists('vars.$colors') and vars.$colors, vars.$colors, defs.$colors);\r\n\r\n// Colors System Module\r\n// --------------------------\r\n// This file is responsible for generating color utility classes and CSS variables\r\n// based on the color maps defined in the variables file.\r\n//\r\n// Key features:\r\n// 1. Generates color utility classes from the main colors map\r\n// 2. Creates currentColor utility classes\r\n// 3. Sets up CSS variables for all defined colors\r\n//\r\n// The color system supports:\r\n// - Light and dark mode theming\r\n// - Opacity variations\r\n// - Pseudo-class variants (:hover, :focus, etc.)\r\n//\r\n// @requires ../functions/colors.scss - For color utility functions and mixins\r\n// @requires ../settings/configs.scss - For configuration variables\r\n// @requires ../functions/validations.scss - For validation utilities\r\n// @requires ../variables.scss - For color definitions\r\n\r\n@if $useColors {\r\n // Color Utility Classes\r\n // --------------------\r\n // Generate color utility classes from the main colors map.\r\n // Uses the useColorsMap mixin from colors functions to create a comprehensive\r\n // set of color utilities for all the colors defined in $colors.\r\n //\r\n // Generated classes include:\r\n // - .color-[colorName] - Sets text color\r\n // - .bg-color-[colorName] - Sets background color\r\n // - .border-color-[colorName] - Sets border color\r\n //\r\n // With light/dark theme variants:\r\n // - Automatically applies correct color based on .light/.dark context\r\n // - Supports direct class application with .color-[colorName].light\r\n //\r\n // With opacity variants (e.g., :50 for 50% opacity):\r\n // - .color-[colorName]:50\r\n // - .bg-color-[colorName]:75\r\n //\r\n // With pseudo-class variants:\r\n // - .color-[colorName]:hover\r\n // - .bg-color-[colorName]:focus\r\n @include colors.useColorsMap;\r\n}\r\n\r\n@if $useCurrentColors {\r\n // CurrentColor Utility Classes\r\n // ----------------------------\r\n // Creates utility classes for applying the CSS `currentColor` value to various CSS properties\r\n // as defined in the configs.$colorsPropertiesMap.\r\n //\r\n // For each property in the map (color, background-color, border-color, etc.):\r\n // - Creates a base class (.{property}-current-color)\r\n // - Creates pseudo-class variants for interaction states\r\n //\r\n // Examples:\r\n // - .current-color { color: currentColor; }\r\n // - .bg-current-color { background-color: currentColor; }\r\n // - .border-current-color { border-color: currentColor; }\r\n // - .current-color\\:hover:hover { color: currentColor; }\r\n // - .bg-current-color\\:focus:focus { background-color: currentColor; }\r\n //\r\n // Usage:\r\n // <div class=\"current-color bg-current-color:hover\">\r\n // This text uses currentColor and background changes to currentColor on hover\r\n // </div>\r\n @each $class, $property in configs.$colorsPropertiesMap {\r\n $mainClass: if($class, '#{$class}#{\\:}current-color', 'current-color');\r\n\r\n .#{$mainClass} {\r\n #{$property}: currentColor;\r\n\r\n @each $pseudoClass, $pseudo in configs.$colorsPseudoMap {\r\n @if $pseudoClass != 'placeholder' or ($pseudoClass == 'placeholder' and $class == null) {\r\n &#{\\:}#{$pseudoClass}#{$pseudo} {\r\n #{$property}: currentColor;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useRootColors {\r\n // CSS Color Variables\r\n // ------------------\r\n // Generates CSS custom properties (variables) for all colors in the $colors map.\r\n // These variables can be used throughout the application to ensure color consistency.\r\n //\r\n // The implementation:\r\n // 1. Iterates through each color in the $colors map\r\n // 2. Validates the color values through val.mapItem and val.hexColor functions\r\n // 3. Determines if light and dark variants are the same\r\n // 4. Creates appropriate CSS variables based on variant differences\r\n //\r\n // Format:\r\n // - For colors with light/dark variants: --color-{name}-{variant}: {color-value}\r\n // - For colors without variants: --color-{name}: {color-value}\r\n //\r\n // Examples:\r\n // --color-main-light: #ffffff\r\n // --color-main-dark: #1a1d21\r\n // --color-accent: #3498db (when light and dark variants are the same)\r\n //\r\n // Usage:\r\n // .my-element {\r\n // background-color: var(--color-main-light);\r\n // color: var(--color-accent);\r\n // }\r\n :root {\r\n @each $color, $modes in $colors {\r\n // Validate parameters\r\n $checkedLight: val.mapItem($modes, 'light', 'light/dark', 'root-colors()');\r\n $checkedDark: val.mapItem($modes, 'dark', 'light/dark', 'root-colors()');\r\n\r\n $light: map.get($modes, 'light');\r\n $dark: map.get($modes, 'dark');\r\n\r\n // Validate colors\r\n $checkedLightValue: val.hexColor('#{$color}.light', $light, 'root-colors()');\r\n $checkedDarkValue: val.hexColor('#{$color}.dark', $dark, 'root-colors()');\r\n\r\n @if ($light == $dark) {\r\n --color-#{$color}: #{$checkedLightValue};\r\n } @else {\r\n --color-#{$color}-light: #{$checkedLightValue};\r\n --color-#{$color}-dark: #{$checkedDarkValue};\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:string';\r\n@use 'sass:map';\r\n@use 'sass:list';\r\n@use '../variables' as vars;\r\n@use '../functions/validations' as val;\r\n@use '../functions/typographic' as typo;\r\n@use '../settings/configs' as configs;\r\n@use '../functions/mediaQueries' as mQ;\r\n@use '../settings/index' as settings;\r\n@use '../settings/defaults' as defs;\r\n\r\n// Definitions\r\n$useFontFamilies: if(\r\n meta.variable-exists('vars.$useFontFamilies') and vars.$useFontFamilies,\r\n vars.$useFontFamilies,\r\n settings.$useFontFamilies\r\n);\r\n$fonts: if(meta.variable-exists('vars.$fonts') and vars.$fonts, vars.$fonts, defs.$fonts);\r\n$fontWeights: if(meta.variable-exists('vars.$fontWeights') and vars.$fontWeights, vars.$fontWeights, defs.$fontWeights);\r\n$fontStyles: if(meta.variable-exists('vars.$fontStyles') and vars.$fontStyles, vars.$fontStyles, defs.$fontStyles);\r\n$fontFormat: if(meta.variable-exists('vars.$fontFormat') and vars.$fontFormat, vars.$fontFormat, defs.$fontFormat);\r\n$defaultFontFamilies: if(\r\n meta.variable-exists('vars.$defaultFontFamilies') and vars.$defaultFontFamilies,\r\n vars.$defaultFontFamilies,\r\n defs.$defaultFontFamilies\r\n);\r\n$useFontSizes: if(\r\n meta.variable-exists('vars.$useFontSizes') and vars.$useFontSizes,\r\n vars.$useFontSizes,\r\n settings.$useFontSizes\r\n);\r\n$fontSizes: if(meta.variable-exists('vars.$fontSizes') and vars.$fontSizes, vars.$fontSizes, defs.$fontSizes);\r\n$useFontShapes: if(\r\n meta.variable-exists('vars.$useFontShapes') and vars.$useFontShapes,\r\n vars.$useFontShapes,\r\n settings.$useFontShapes\r\n);\r\n$useTextAligns: if(\r\n meta.variable-exists('vars.$useTextAligns') and vars.$useTextAligns,\r\n vars.$useTextAligns,\r\n settings.$useTextAligns\r\n);\r\n$useTextTruncate: if(\r\n meta.variable-exists('vars.$useTextTruncate') and vars.$useTextTruncate,\r\n vars.$useTextTruncate,\r\n settings.$useTextTruncate\r\n);\r\n$textTruncate: if(\r\n meta.variable-exists('vars.$textTruncate') and vars.$textTruncate,\r\n vars.$textTruncate,\r\n defs.$textTruncate\r\n);\r\n\r\n// Typographic Utilities\r\n// --------------------------------------\r\n// This file generates various typographic utility classes and @font-face rules\r\n// based on the settings and variables defined in the project.\r\n// Each section can be enabled or disabled via the `$use...` variables.\r\n\r\n// Font Families & @font-face ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates @font-face rules based on the `vars.$fonts` map and\r\n// corresponding utility classes for applying font families, weights, and styles.\r\n// The generation of these rules and classes is controlled by the\r\n// `$useFontFamilies` boolean variable.\r\n//\r\n// @see $useFontFamilies\r\n// @see vars.$fonts\r\n// @see vars.$fontWeights\r\n// @see vars.$fontStyles\r\n// @see configs.$fontWeightsValues (for mapping weight names to numerical values)\r\n// @see $defaultFontFamilies (for fallback fonts)\r\n// @see typo.font (mixin used for @font-face generation)\r\n// @see mQ.multiSizes (mixin used for responsive class generation)\r\n//\r\n// @generatedClasses\r\n// - @font-face rules for each font variant.\r\n// - Font family/weight classes:\r\n// - e.g., `.regular`, `.bold`, `.italic`\r\n// - e.g., `.fontName-0`, `.fontName-1` (if multiple fonts with same weight names, indexed by $fI)\r\n// - Responsive font family/weight classes (if `mQ.multiSizes` is configured):\r\n// - e.g., `md:regular`, `lg:bold`\r\n// - Font style classes (applied as modifiers):\r\n// - e.g., `.regular.italic`\r\n//\r\n// @example scss - Configuration in vars.$fonts (simplified)\r\n// vars.$fonts: (\r\n// sans: (\r\n// weights: (regular, bold),\r\n// styles: (normal, italic),\r\n// variants: (\r\n// latin: (title: \"OpenSans\") // `title` here is used for font-family in @font-face\r\n// )\r\n// )\r\n// );\r\n//\r\n// @example css - Generated CSS (simplified, assuming $fI is 0 for the first font)\r\n// @font-face { font-family: \"OpenSans-0\"; src: local(\"OpenSans Regular\"); font-weight: 400; font-style: normal; }\r\n// .regular { font-family: \"OpenSans-0\", \"Fallback Font\"; font-weight: 400; }\r\n// .regular.italic { font-style: italic; }\r\n// .bold { font-family: \"OpenSans-0\", \"Fallback Font\"; font-weight: 700; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n\r\n@if $useFontFamilies {\r\n // Font families ----- -----\r\n $fI: 0;\r\n @each $fontKey, $font in $fonts {\r\n // Validate parameters\r\n $checkedFontKey: val.string($fontKey, 'Typographic.fonts.title');\r\n $checkedFont: val.map($font, 'Typographic.fonts');\r\n\r\n $weights: map.get($font, 'weights');\r\n $weights: if($weights != null, map.get($font, 'weights'), $fontWeights);\r\n $styles: map.get($font, 'styles');\r\n $styles: if($styles != null, map.get($font, 'styles'), $fontStyles);\r\n $variants: map.get($font, 'variants');\r\n\r\n // Validate parameters\r\n $checkedWeights: val.list($weights, 'Typographic.fontFace.weights');\r\n $checkedStyles: val.list($styles, 'Typographic.fontFace.styles');\r\n $checkedVariants: val.map($variants, 'Typographic.fontFace.variants');\r\n\r\n @each $weight in $weights {\r\n @each $style in $styles {\r\n @each $lang, $fontFace in $variants {\r\n $title: map.get($fontFace, 'title');\r\n $unicode: if(map.has-key($fontFace, 'unicode'), map.get($fontFace, 'unicode'), null);\r\n $format: if(map.has-key($fontFace, 'format'), map.get($fontFace, 'format'), $fontFormat);\r\n $isLocal: if(map.has-key($fontFace, 'local'), map.get($fontFace, 'isLocal'), true);\r\n $externalUrl: if(map.has-key($fontFace, 'url'), map.get($fontFace, 'url'), null);\r\n\r\n // Validate parameters\r\n $checkedIsLocal: val.boolean($isLocal, 'Typographic.fontFace.local');\r\n $checkedTitle: val.string($title, 'Typographic.fontFace.title');\r\n $checkedFormat: val.string($format, 'Typographic.fontFace.format');\r\n @if $unicode {\r\n $checkedUnicode: val.string($unicode, 'Typographic.fontFace.unicode');\r\n }\r\n\r\n @include typo.font($title, $weight, $format, $style, $fI, $unicode, $isLocal, $externalUrl);\r\n }\r\n }\r\n }\r\n\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $weight in $weights {\r\n @each $style in $styles {\r\n // Font weights\r\n // Validate parameters\r\n $styleClass: if($fI == 0, $weight, '#{$weight}-#{$fI}');\r\n $weightValue: map.get(configs.$fontWeightsValues, $weight);\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$styleClass}, $styleClass);\r\n\r\n .#{$mainClass} {\r\n font-family:\r\n '#{$styleClass}',\r\n $defaultFontFamilies if($size, !important, null);\r\n font-weight: if($size, $weightValue !important, $weightValue);\r\n @if meta.type-of($styles) == 'list' and list.length($styles) > 0 {\r\n &.#{$style} {\r\n font-style: $style;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n $fI: $fI + 1;\r\n }\r\n}\r\n\r\n// Font Sizes ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for applying predefined font sizes.\r\n// The generation of these classes is controlled by the\r\n// `$useFontSizes` boolean variable.\r\n// Font sizes are defined in `$fontSizes`.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useFontSizes\r\n// @see $fontSizes\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Font size classes:\r\n// - e.g., `.text-sm`, `.text-base`, `.text-lg` (based on keys in `$fontSizes`)\r\n// - Responsive font size classes:\r\n// - e.g., `md:text-sm`, `lg:text-base`\r\n//\r\n// @example scss - Configuration in $fontSizes\r\n// $fontSizes: (\r\n// sm: 0.875rem,\r\n// base: 1rem\r\n// );\r\n//\r\n// @example css - Generated CSS (simplified)\r\n// .text-sm { font-size: 0.875rem; }\r\n// .text-base { font-size: 1rem; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useFontSizes {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $fontSize, $value in $fontSizes {\r\n $mainClass: if($size, #{$size}#{$divider}#{$fontSize}, $fontSize);\r\n\r\n .#{$mainClass} {\r\n font-size: $value if($size, !important, null);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Font Shapes (Text Transformation) ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for text transformations (e.g., uppercase, lowercase)\r\n// and other font-related shape properties like `font-variant`.\r\n// The generation of these classes is controlled by the\r\n// `$useFontShapes` boolean variable.\r\n// Shapes are defined in `configs.$fontShapes` and applied using the `typo.fontShapes` mixin.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useFontShapes\r\n// @see configs.$fontShapes\r\n// @see typo.fontShapes\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Text transformation/shape classes:\r\n// - e.g., `.uppercase`, `.lowercase`, `.small-caps` (based on `configs.$fontShapes`)\r\n// - Responsive text transformation/shape classes:\r\n// - e.g., `md:uppercase`, `lg:small-caps`\r\n//\r\n// @example scss - Configuration in configs.$fontShapes\r\n// configs.$fontShapes: (\r\n// text-transform: (uppercase, lowercase, capitalize),\r\n// font-variant: (small-caps)\r\n// );\r\n//\r\n// @example css - Generated CSS (simplified)\r\n// .uppercase { text-transform: uppercase; }\r\n// .small-caps { font-variant: small-caps; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useFontShapes {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $type, $values in configs.$fontShapes {\r\n @each $value in $values {\r\n @include typo.fontShapes(if($size, '#{$size}#{$divider}#{$value}', $value), $type, $value);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Text Alignment ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for text alignment (e.g., left, center, right).\r\n// The generation of these classes is controlled by the\r\n// `$useTextAligns` boolean variable.\r\n// Alignments are defined in `configs.$aligns`.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useTextAligns\r\n// @see configs.$aligns\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Text alignment classes:\r\n// - e.g., `.text-left`, `.text-center`, `.text-right`\r\n// - Responsive text alignment classes:\r\n// - e.g., `md:text-left`, `lg:text-center`\r\n//\r\n// @example scss - Configuration in configs.$aligns\r\n// configs.$aligns: (left, center, right, justify);\r\n//\r\n// @example css - Generated CSS (simplified)\r\n// .text-left { text-align: left; }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useTextAligns {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir in configs.$aligns {\r\n // Validate parameters\r\n $checkedDir: val.listItem(configs.$aligns, $dir, 'Typographic.fonts.aligns');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}text-#{$dir}', 'text-#{$dir}');\r\n .#{$mainClass} {\r\n text-align: if($size, $dir !important, $dir);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Text Truncation ----- ----- ----- -----\r\n//\r\n// @description\r\n// Generates utility classes for multi-line text truncation (ellipsis).\r\n// The generation of these classes is controlled by the\r\n// `$useTextTruncate` boolean variable.\r\n// The maximum number of lines is controlled by `$textTruncate`.\r\n// Responsive variants are generated using the `mQ.multiSizes` mixin.\r\n//\r\n// @see $useTextTruncate\r\n// @see $textTruncate\r\n// @see mQ.multiSizes\r\n//\r\n// @generatedClasses\r\n// - Text truncation classes:\r\n// - e.g., `.text-lines:1`, `.text-lines:2`, ... up to `$textTruncate`\r\n// - Responsive text truncation classes:\r\n// - e.g., `md:text-lines:1`, `lg:text-lines:2`\r\n//\r\n// @example scss - Configuration in $textTruncate\r\n// $textTruncate: 3;\r\n//\r\n// @example css - Generated CSS (simplified for .text-lines:2)\r\n// .text-lines\\:2 { /* Note: CSS escapes the colon */\r\n// display: -webkit-box;\r\n// -webkit-line-clamp: 2;\r\n// line-clamp: 2;\r\n// -webkit-box-orient: vertical;\r\n// overflow: hidden;\r\n// }\r\n// // ... responsive versions if applicable ...\r\n//\r\n@if $useTextTruncate {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $i in $textTruncate {\r\n $mainClass: if($size, '#{$size}#{$divider}text-lines#{\\:}#{$i}', 'text-lines#{\\:}#{$i}');\r\n\r\n .#{$mainClass} {\r\n display: -webkit-box;\r\n -webkit-line-clamp: #{$i};\r\n line-clamp: #{$i};\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:string';\r\n@use 'sass:map';\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/configs' as configs;\r\n\r\n// Definitions\r\n$fontMainPath: if(\r\n meta.variable-exists('vars.$fontMainPath') and vars.$fontMainPath,\r\n vars.$fontMainPath,\r\n defs.$fontMainPath\r\n);\r\n\r\n// Font Face Mixin\r\n// --------------------------------------\r\n// Generates an @font-face rule.\r\n//\r\n// @param {String} $title - The base name of the font (e.g., \"OpenSans\").\r\n// @param {String} $weight - The font weight key (e.g., \"regular\", \"bold\").\r\n// @param {String} $format - The font file format (e.g., \"woff2\").\r\n// @param {String} $style - The font style (e.g., \"normal\", \"italic\").\r\n// @param {Number} $index [0] - An index appended to the font-family name if multiple fonts share the same weight name.\r\n// @param {String | Null} $unicode [null] - Optional unicode range for the font.\r\n// @param {Boolean} $isLocal [true] - Whether the font is hosted locally or externally.\r\n// @param {String} $externalUrl [\"\"] - The URL for externally hosted fonts (if $isLocal is false).\r\n//\r\n// @example scss\r\n// @include font(\"OpenSans\", \"regular\", \"woff2\", \"normal\", 0, null, true);\r\n// // Generates:\r\n// // @font-face {\r\n// // font-family: \"regular\"; // Or \"regular-0\" if $index is 0 but other fonts exist with same weight\r\n// // font-weight: 400;\r\n// // font-style: normal;\r\n// // font-display: swap;\r\n// // src: local(\"OpenSans-regular\"),\r\n// // url(\"../fonts/OpenSans-regular.woff2\") format(\"woff2\");\r\n// // }\r\n//\r\n// @include font(\"Roboto\", \"bold\", \"ttf\", \"normal\", 1, \"U+000-5FF\", false, \"https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.ttf\");\r\n// // Generates:\r\n// // @font-face {\r\n// // font-family: \"bold-1\";\r\n// // font-weight: 700;\r\n// // font-style: normal;\r\n// // font-display: swap;\r\n// // src: url(\"https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.ttf\");\r\n// // unicode-range: U+000-5FF;\r\n// // }\r\n//\r\n@mixin font($title, $weight, $format, $style, $index: 0, $unicode: null, $isLocal: true, $externalUrl: '') {\r\n // Validate parameters\r\n $checkedIsLocal: val.boolean($isLocal, '#{$title}.font().local');\r\n $checkedTitle: val.string($title, '#{$title}.font().title');\r\n $checkedWeight: val.mapItem(\r\n configs.$fontWeightsValues,\r\n $weight,\r\n configs.$fontWeightsValues,\r\n 'Typographic.fontFace.weights.#{$weight}'\r\n );\r\n $checkedStyle: val.listItem(('normal', 'italic', 'oblique'), $style, '#{$title}.font().weights.#{$style}');\r\n $checkIndex: val.number($index, '#{$title}.font().index');\r\n $checkedFormat: val.string($format, '#{$title}.font().format');\r\n\r\n @if (not($isLocal)) {\r\n $checkedExternalUrl: val.string($externalUrl, 'Typographic.fontFace.externalUrl');\r\n }\r\n\r\n $name: if($index == 0, $title, '#{$title}-#{$index}');\r\n $weightValue: map.get(configs.$fontWeightsValues, $weight);\r\n\r\n @font-face {\r\n font-family: $name;\r\n font-weight: $weightValue;\r\n font-style: $style;\r\n font-display: swap;\r\n\r\n @if ($isLocal) {\r\n src:\r\n local('#{$title}-#{$weight}'),\r\n url(string.unquote('#{$fontMainPath}#{$title}-#{$weight}.#{$format}')) format('#{$format}');\r\n } @else {\r\n src: url(string.unquote('#{$externalUrl}'));\r\n }\r\n\r\n @if $unicode {\r\n // Validate parameters\r\n $checkedUnicode: val.string($unicode, '#{$title}.font().unicode');\r\n\r\n unicode-range: string.unquote($unicode);\r\n }\r\n }\r\n}\r\n\r\n// Font Shapes Mixin\r\n// --------------------------------------\r\n// Applies text transformation, decoration, or style properties to a class.\r\n//\r\n// @param {String} $class - The CSS class name to apply the style to.\r\n// @param {String} $type - The type of shape property (\"transform\", \"decoration\", \"styles\").\r\n// @param {String} $value - The value for the shape property (e.g., \"uppercase\", \"underline\", \"italic\").\r\n// @param {String | Null} $size [null] - Optional size prefix for responsive classes, determines if `!important` is added.\r\n//\r\n// @example scss\r\n// @include fontShapes(\"uppercase\", \"transform\", \"uppercase\");\r\n// // Generates:\r\n// // .uppercase {\r\n// // text-transform: uppercase;\r\n// // }\r\n//\r\n// @include fontShapes(\"md:underline\", \"decoration\", \"underline\", \"md\");\r\n// // Generates:\r\n// // .md\\\\:underline {\r\n// // text-decoration: underline !important;\r\n// // }\r\n//\r\n@mixin fontShapes($class, $type, $value) {\r\n $shapeList: map.get(configs.$fontShapes, $type);\r\n\r\n // Validate parameters\r\n $checkedType: val.mapItem(configs.$fontShapes, $type, configs.$fontShapes, 'fontShapes().#{$type}');\r\n $checkedValue: val.listItem($shapeList, $value, 'fontShapes().#{$value}');\r\n\r\n .#{$class} {\r\n @if $type == 'transform' {\r\n text-transform: $value;\r\n } @else if $type == 'decoration' {\r\n text-decoration: $value;\r\n } @else if $type == 'styles' {\r\n font-style: $value;\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use '../functions/mediaQueries' as mQ;\r\n@use '../settings/configs' as configs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/index' as settings;\r\n@use '../functions/others' as func;\r\n@use '../variables' as vars;\r\n\r\n// Definitions\r\n$useGrid: if(meta.variable-exists('vars.$useGrid') and vars.$useGrid, vars.$useGrid, settings.$useGrid);\r\n$useFlex: if(meta.variable-exists('vars.$useFlex') and vars.$useFlex, vars.$useFlex, settings.$useFlex);\r\n\r\n@if $useGrid {\r\n .grid {\r\n display: grid;\r\n\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @include func.gridDivision(column, $size, $divider);\r\n @include func.gridDivision(row, $size, $divider);\r\n }\r\n }\r\n}\r\n\r\n@if $useFlex {\r\n .flex {\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $property, $values in configs.$flexProperties {\r\n // Validate parameters\r\n $checkedProperty: val.listItem((flex-wrap, flex-direction), $property, 'flex.properties');\r\n\r\n @each $value in $values {\r\n // Validate parameters\r\n $checkedProperty: val.listItem(\r\n (wrap, nowrap, row, row-reverse, column, column-reverse),\r\n $value,\r\n 'flex.properties.values'\r\n );\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$value}, $value);\r\n\r\n &.#{$mainClass} {\r\n #{$property}: if($size, $value !important, $value);\r\n }\r\n }\r\n }\r\n\r\n &.row,\r\n &.row-reverse {\r\n @include func.flexDivision(width, 'cols', $size, $divider);\r\n @include func.flexDivision(width, 'col', $size, $divider);\r\n }\r\n &.column,\r\n &.column-reverse {\r\n @include func.flexDivision(height, 'rows', $size, $divider);\r\n @include func.flexDivision(height, 'row', $size, $divider);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useFlex or $useGrid {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $way, $selections in configs.$justify {\r\n @each $selection, $properties in $selections {\r\n @each $property in $properties {\r\n $mainClass: if($size, '#{$size}#{$divider}#{$way}-#{$selection}#{\\:}', '#{$way}-#{$selection}#{\\:}');\r\n\r\n .#{$mainClass} {\r\n $prefix: if($property == 'around' or $property == 'between' or $property == 'evenly', 'space-', '');\r\n $flexPrefix: if($property == 'start' or $property == 'end', 'flex-', '');\r\n $value: #{$prefix}#{$property};\r\n $flexValue: #{$flexPrefix}#{$value};\r\n\r\n &#{$property} {\r\n &.flex {\r\n #{$way}-#{$selection}: if($size, $flexValue !important, $flexValue);\r\n }\r\n\r\n #{$way}-#{$selection}: if($size, $value !important, $value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:map';\r\n@use '../variables' as vars;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n\r\n// Definitions\r\n$axisDivisions: if(\r\n meta.variable-exists('vars.$axisDivisions') and vars.$axisDivisions,\r\n vars.$axisDivisions,\r\n defs.$axisDivisions\r\n);\r\n\r\n// @function shadowValue\r\n// @description Converts a unitless number to a pixel value for shadows, unless the value is 0.\r\n// @param {Number} $value - The shadow value.\r\n// @return {String} The shadow value with \"px\" appended, or 0.\r\n@function shadowValue($value) {\r\n @return if($value != 0, #{$value}#{'px'}, $value);\r\n}\r\n\r\n// @mixin gridDivision\r\n// @description Generates CSS grid classes for creating grid layouts.\r\n// @param {String} $axis - The grid axis ('column' or 'row').\r\n// @param {String | Null} $size - A size prefix for the generated classes (e.g., 'sm', 'md').\r\n// @param {String} $divider - A divider string for the generated classes (e.g., '-').\r\n@mixin gridDivision($axis, $size, $divider) {\r\n // Validate parameters\r\n $checkedAxis: val.listItem((column, row), $axis, 'gridDivision.axis');\r\n $checkedBase: val.number($axisDivisions, 'gridDivision.axisDivisions');\r\n\r\n $type: if($axis == 'column', 'col', 'row');\r\n $mainClass: if($size, '#{$size}#{$divider}#{$type}s', '#{$type}s');\r\n $subClass: if($size, '#{$size}#{$divider}#{$type}', $type);\r\n\r\n @for $i from 0 through $axisDivisions {\r\n @if ($i > 0) {\r\n &.#{$mainClass}#{\\:}#{$i} {\r\n grid-template-#{$axis}s: repeat($i, 1fr);\r\n }\r\n }\r\n\r\n $axisProperty: if($i == 0, 'grid-#{$axis}-end', 'grid-#{$axis}');\r\n $class: if($i == 0, auto, $i);\r\n $value: if($i == 0, -1, 'span #{$i}');\r\n\r\n > .#{$subClass}#{\\:}#{$class} {\r\n #{$axisProperty}: #{$value};\r\n }\r\n }\r\n}\r\n\r\n// @mixin flexDivision\r\n// @description Generates CSS flexbox classes for creating flexible layouts.\r\n// @param {String} $axis - The flex axis ('width' or 'height').\r\n// @param {String} $type - The type of flex items ('col', 'cols', 'row', 'rows').\r\n// @param {String | Null} $size - A size prefix for the generated classes (e.g., 'sm', 'md').\r\n// @param {String} $divider - A divider string for the generated classes (e.g., '-').\r\n@mixin flexDivision($axis, $type, $size, $divider) {\r\n // Validate parameters\r\n $checkedAxis: val.listItem((width, height), $axis, 'flexDivision.axis');\r\n $checkedType: val.listItem(('col', 'cols', 'rows', 'row'), $type, 'flexDivision.type');\r\n $checkedBase: val.number($axisDivisions, 'flexDivision.axisDivisions');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}#{$type}', $type);\r\n\r\n @if (not $size) and $type == 'cols' or $type == 'rows' {\r\n > * {\r\n flex: 0 0 auto;\r\n max-#{$axis}: 100%;\r\n }\r\n }\r\n\r\n @for $i from 0 through $axisDivisions {\r\n @if $type == 'cols' or $type == 'rows' {\r\n $class: if($i == 0, auto, $i);\r\n $axisSize: if($i == 0, auto, calc(100% / $i));\r\n\r\n &.#{$mainClass}#{\\:}#{$class} > * {\r\n #{$axis}: if($size, $axisSize !important, $axisSize);\r\n }\r\n } @else if $type == 'col' or $type == 'row' {\r\n $axisSize: if($i == 0, 100%, calc(($i / $axisDivisions) * 100%));\r\n $class: if($i == 0, '', $i);\r\n $classSize: if($i == 0, #{$class}, #{\\:}#{$class});\r\n\r\n > .#{$mainClass}#{$classSize} {\r\n #{$axis}: if($size, $axisSize !important, $axisSize);\r\n }\r\n }\r\n }\r\n}\r\n","@use 'sass:meta';\r\n@use 'sass:map';\r\n@use 'sass:list';\r\n@use 'sass:math';\r\n@use '../functions/mediaQueries' as mQ;\r\n@use '../settings/configs' as configs;\r\n@use '../settings/defaults' as defs;\r\n@use '../functions/validations' as val;\r\n@use '../settings/index' as settings;\r\n@use '../functions/others' as func;\r\n@use '../variables' as vars;\r\n\r\n// Definitions\r\n$useWrappers: if(\r\n meta.variable-exists('vars.$useWrappers') and vars.$useWrappers,\r\n vars.$useWrappers,\r\n settings.$useWrappers\r\n);\r\n$wrappers: if(meta.variable-exists('vars.$wrappers') and vars.$wrappers, vars.$wrappers, defs.$wrappers);\r\n$useShadows: if(meta.variable-exists('vars.$useShadows') and vars.$useShadows, vars.$useShadows, settings.$useShadows);\r\n$useDisplays: if(\r\n meta.variable-exists('vars.$useDisplays') and vars.$useDisplays,\r\n vars.$useDisplays,\r\n settings.$useDisplays\r\n);\r\n$useOverflows: if(\r\n meta.variable-exists('vars.$useOverflows') and vars.$useOverflows,\r\n vars.$useOverflows,\r\n settings.$useOverflows\r\n);\r\n$useOpacities: if(\r\n meta.variable-exists('vars.$useOpacities') and vars.$useOpacities,\r\n vars.$useOpacities,\r\n settings.$useOpacities\r\n);\r\n$opacities: if(meta.variable-exists('vars.$opacities') and vars.$opacities, vars.$opacities, defs.$opacities);\r\n$useBlur: if(meta.variable-exists('vars.$useBlur') and vars.$useBlur, vars.$useBlur, settings.$useBlur);\r\n$blurValues: if(meta.variable-exists('vars.$blurValues') and vars.$blurValues, vars.$blurValues, defs.$blurValues);\r\n$useObjectFits: if(\r\n meta.variable-exists('vars.$useObjectFits') and vars.$useObjectFits,\r\n vars.$useObjectFits,\r\n settings.$useObjectFits\r\n);\r\n$usePositions: if(\r\n meta.variable-exists('vars.$usePositions') and vars.$usePositions,\r\n vars.$usePositions,\r\n settings.$usePositions\r\n);\r\n$useInsets: if(meta.variable-exists('vars.$useInsets') and vars.$useInsets, vars.$useInsets, settings.$useInsets);\r\n$insetValues: if(meta.variable-exists('vars.$insetValues') and vars.$insetValues, vars.$insetValues, defs.$insetValues);\r\n$useSizes: if(meta.variable-exists('vars.$useSizes') and vars.$useSizes, vars.$useSizes, settings.$useSizes);\r\n$useGutters: if(meta.variable-exists('vars.$useGutters') and vars.$useGutters, vars.$useGutters, settings.$useGutters);\r\n$guttersValues: if(\r\n meta.variable-exists('vars.$guttersValues') and vars.$guttersValues,\r\n vars.$guttersValues,\r\n defs.$guttersValues\r\n);\r\n$useBorders: if(meta.variable-exists('vars.$useBorders') and vars.$useBorders, vars.$useBorders, settings.$useBorders);\r\n$bordersValue: if(\r\n meta.variable-exists('vars.$bordersValue') and vars.$bordersValue,\r\n vars.$bordersValue,\r\n defs.$bordersValue\r\n);\r\n$useTextBorders: if(\r\n meta.variable-exists('vars.$useTextBorders') and vars.$useTextBorders,\r\n vars.$useTextBorders,\r\n settings.$useTextBorders\r\n);\r\n$useRadius: if(meta.variable-exists('vars.$useRadius') and vars.$useRadius, vars.$useRadius, settings.$useRadius);\r\n$radiuses: if(meta.variable-exists('vars.$radiuses') and vars.$radiuses, vars.$radiuses, defs.$radiuses);\r\n\r\n@if $useWrappers {\r\n @each $wSize, $properties in $wrappers {\r\n $mainWSize: if($wSize, '#{$wSize}#{\\:}wrapper', 'wrapper');\r\n\r\n $size: list.nth($properties, 1);\r\n $padding: if(list.nth($properties, 2), list.nth($properties, 2), 0);\r\n\r\n // Validate parameters\r\n $checkedSize: val.notNull($size, 'Wrappers.size');\r\n\r\n .#{$mainWSize} {\r\n width: 100%;\r\n\r\n @if ($padding != 0) {\r\n padding-inline: $padding;\r\n }\r\n\r\n @include mQ.mQ(min, md) {\r\n padding-inline: calc((100% - #{$size}) / 2 + $padding);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useShadows {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $class, $values in configs.$shadows {\r\n $x: map.get($values, x);\r\n $y: map.get($values, y);\r\n $blur: map.get($values, blur);\r\n $spread: map.get($values, spread);\r\n $opacity: map.get($values, opacity);\r\n\r\n // Validate parameters\r\n $checkedX: val.number($x, 'Shadows.x');\r\n $checkedY: val.number($y, 'Shadows.y');\r\n $checkedBlur: val.number($blur, 'Shadows.blur');\r\n $checkedSpread: val.number($spread, 'Shadows.spread');\r\n $checkedOpacity: val.opacity($opacity, 'Shadows.opacity');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}divider-#{$class}', 'divider-#{$class}');\r\n\r\n .#{$mainClass} {\r\n box-shadow: func.shadowValue($x)\r\n func.shadowValue($y)\r\n func.shadowValue($blur)\r\n func.shadowValue($spread)\r\n rgba(0, 0, 0, $opacity);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useDisplays {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $display in configs.$displays {\r\n // Validate parameters\r\n $checkedDisplay: val.listItem(configs.$displays, $display, 'Shaping.displays');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}d-#{$display}', 'd-#{$display}');\r\n\r\n .#{$mainClass} {\r\n display: if($size, $display !important, $display);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useOverflows {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir in configs.$overflowsDirections {\r\n // Validate parameters\r\n @if $dir {\r\n $checkedDir: val.listItem(('x', 'y'), $dir, 'Shaping.overflow.direction');\r\n }\r\n\r\n $dirClass: if($dir, '#{$dir}#{\\:}overflow', 'overflow');\r\n $mainClass: if($size, '#{$size}#{$divider}#{$dirClass}', $dirClass);\r\n $property: if($dir, 'overflow-#{$dir}', 'overflow');\r\n\r\n .#{$mainClass} {\r\n @each $value in configs.$overflows {\r\n // Validate parameters\r\n $checkedClass: val.listItem(configs.$overflows, $value, 'Shaping.overflow.value');\r\n\r\n &-#{$value} {\r\n #{$property}: if($size, $value !important, $value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useOpacities {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $value in $opacities {\r\n $checkedValue: val.opacity(math.div($value, 100), 'Shaping.opacity');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}op', 'op');\r\n\r\n .#{$mainClass}#{\\:}#{$value} {\r\n opacity: if($size, $checkedValue !important, $checkedValue);\r\n\r\n &#{\\:}hover:hover {\r\n opacity: if($size, $checkedValue !important, $checkedValue);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useBlur {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $value in $blurValues {\r\n $checkedValue: val.listItem($blurValues, $value, 'Shaping.blur');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}bg#{\\:}blur', 'bg#{\\:}blur');\r\n $calcValue: blur(#{$checkedValue}#{px});\r\n\r\n .#{$mainClass}#{\\:}#{$value} {\r\n backdrop-filter: if($size, $calcValue !important, $calcValue);\r\n\r\n &#{\\:}hover:hover {\r\n backdrop-filter: if($size, $calcValue !important, $calcValue);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useObjectFits {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $fit in configs.$objectsFits {\r\n // Validate parameters\r\n $checkedFit: val.listItem(configs.$objectsFits, $fit, 'Shaping.objectFit');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}object-fit', 'object-fit');\r\n\r\n .#{$mainClass}#{\\:}#{$fit} {\r\n object-fit: if($size, $fit !important, $fit);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $usePositions {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $position in configs.$positions {\r\n // Validate parameters\r\n $checkedPosition: val.listItem(configs.$positions, $position, 'Shaping.position');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}p-', 'p-');\r\n\r\n .#{$mainClass}#{$position} {\r\n position: if($size, $position !important, $position);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useInsets {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $value in $insetValues {\r\n @each $position in configs.$insetPositions {\r\n // Validate parameters\r\n $checkedPosition: val.listItem(configs.$insetPositions, $position, 'Shaping.inset');\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}inset', 'inset');\r\n $posClass: if($position, '#{$mainClass}-#{$position}', '#{$mainClass}');\r\n $property: if($position, 'inset-#{$position}', 'inset');\r\n $val: if($value == 0, 'full', $value);\r\n\r\n .#{$posClass}#{\\:}#{$val} {\r\n #{$property}: $value;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useSizes {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir, $direction in configs.$spacesDirections {\r\n // Validate parameters\r\n $checkedDir: val.listItem(\r\n ('w', 'min#{\\:}w', 'max#{\\:}w', 'h', 'min#{\\:}h', 'max#{\\:}h'),\r\n $dir,\r\n 'Shaping.space.direction'\r\n );\r\n $checkedDirection: val.listItem(\r\n ('width', 'min-width', 'max-width', 'height', 'min-height', 'max-height'),\r\n $direction,\r\n 'Shaping.space.direction'\r\n );\r\n $checkedStep: val.number(configs.$spacesStep, 'Shaping.space.step');\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$dir}, $dir);\r\n\r\n .#{$mainClass} {\r\n @for $i from 0 through 100 {\r\n $value: $i * $checkedStep;\r\n\r\n @if ($value != 0) and ($value % $checkedStep == 0) and ($value <= 100) {\r\n &#{\\:}#{$value} {\r\n #{$direction}: if($size, #{$value}#{'%'} !important, #{$value}#{'%'});\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useGutters {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $class, $property in configs.$gutters {\r\n // Validate parameters\r\n $checkedClass: val.listItem(\r\n (p, px, py, ps, pe, pt, pb, m, mx, my, ms, me, mt, mb, g, gx, gy),\r\n $class,\r\n 'Shaping.gutter.class'\r\n );\r\n $checkedProperty: val.listItem(\r\n (\r\n padding,\r\n padding-inline,\r\n padding-block,\r\n padding-inline-start,\r\n padding-inline-end,\r\n padding-block-start,\r\n padding-block-end,\r\n margin,\r\n margin-inline,\r\n margin-block,\r\n margin-inline-start,\r\n margin-inline-end,\r\n margin-block-start,\r\n margin-block-end,\r\n gap,\r\n column-gap,\r\n row-gap\r\n ),\r\n $property,\r\n 'Shaping.gutter.property'\r\n );\r\n\r\n $mainClass: if($size, #{$size}#{$divider}#{$class}, $class);\r\n\r\n .#{$mainClass} {\r\n @each $vClass, $value in $guttersValues {\r\n &-#{$vClass} {\r\n @if $size {\r\n #{$property}: if($size, $value !important, $value);\r\n } @else {\r\n #{$property}: $value;\r\n\r\n &\\:i {\r\n /* stylelint-disable declaration-no-important */\r\n #{$property}: $value !important;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useBorders {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $i in $bordersValue {\r\n @each $dir, $property in configs.$bordersDirections {\r\n // Validate parameters\r\n $checkedDir: val.listItem((null, 'top', 'bottom', 'start', 'end'), $dir, 'Shaping.borders');\r\n $checkedProperty: val.listItem(\r\n (border, border-block-start, border-block-end, border-inline-start, border-inline-end),\r\n $property,\r\n 'Shaping.borders'\r\n );\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}border', 'border');\r\n $dirClass: if($dir, '#{$dir}#{\\:}', $dir);\r\n\r\n .#{$mainClass}#{\\:}#{$dirClass}#{$i} {\r\n #{$property}-width: if($size, #{$i}#{px} !important, #{$i}#{px});\r\n\r\n @if not $size {\r\n #{$property}-style: if($size, solid !important, solid);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useTextBorders {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $i in $bordersValue {\r\n $mainClass: if($size, '#{$size}#{$divider}stroke', 'stroke');\r\n $value: math.div($i, 10);\r\n\r\n // Validate parameters\r\n $checkedValue: val.number($value, 'Shaping.textBorder');\r\n\r\n .#{$mainClass}#{\\:}#{$i} {\r\n -webkit-text-stroke-width: if($size, #{$value}#{px} !important, #{$value}#{px});\r\n }\r\n }\r\n }\r\n}\r\n\r\n@if $useRadius {\r\n @include mQ.multiSizes() using ($size, $divider) {\r\n @each $dir, $properties in configs.$radiusDirection {\r\n // Validate parameters\r\n $checkedDir: val.listItem(\r\n (null, 'top', 'bottom', 'start', 'end', 'top-start', 'top-end', 'bottom-start', 'bottom-end'),\r\n $dir,\r\n 'Shaping.radius.direction'\r\n );\r\n\r\n $mainClass: if($size, '#{$size}#{$divider}radius', 'radius');\r\n $dirClass: if($dir, '#{$dir}#{\\:}', $dir);\r\n\r\n @each $property in $properties {\r\n .#{$mainClass}#{\\:}#{$dirClass} {\r\n &full {\r\n #{$property}: if($size, 100vw !important, 100vw);\r\n }\r\n\r\n @each $value in $radiuses {\r\n // Validate parameters\r\n $checkedProperty: val.listItem(\r\n (\r\n border-radius,\r\n border-start-start-radius,\r\n border-start-end-radius,\r\n border-end-start-radius,\r\n border-end-end-radius\r\n ),\r\n $property,\r\n 'Shaping.radius.property'\r\n );\r\n\r\n &#{$value} {\r\n #{$property}: if($size, #{$value}#{px} !important, #{$value}#{'px'});\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
package/dist/scripts/cli.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { Commands } from '../scripts/commands/list.js';
|
|
3
3
|
async function main() {
|
|
4
4
|
const args = process.argv.slice(2);
|
|
5
|
-
let command = args[0] ?? 'build';
|
|
5
|
+
let command = args[0] ?? 'build:pack';
|
|
6
6
|
if (command.startsWith('--local'))
|
|
7
|
-
command = 'build';
|
|
7
|
+
command = 'build:pack';
|
|
8
8
|
const commands = Commands(args);
|
|
9
9
|
const action = commands[command] ?? commands.default;
|
|
10
10
|
await action();
|
|
@@ -65,12 +65,12 @@ async function BuildTheme(customOutputPath) {
|
|
|
65
65
|
console.log(`✅ Theme variables generated: ${variablesPath}`);
|
|
66
66
|
console.log('');
|
|
67
67
|
console.log('🔨 Compiling SCSS to CSS...');
|
|
68
|
-
let buildCommand = 'npm run build';
|
|
68
|
+
let buildCommand = 'npm run build:pack';
|
|
69
69
|
if (customOutputPath) {
|
|
70
70
|
const userProjectRoot = process.cwd();
|
|
71
71
|
const outputPath = path.join(userProjectRoot, customOutputPath);
|
|
72
72
|
await fs.ensureDir(outputPath);
|
|
73
|
-
buildCommand = `sass --style compressed --source-map --embed-sources --no-error-css
|
|
73
|
+
buildCommand = `sass --style compressed --source-map --embed-sources --no-error-css dist/scss/:${outputPath}/`;
|
|
74
74
|
console.log(`📁 Output directory: ${outputPath}`);
|
|
75
75
|
}
|
|
76
76
|
const { stdout } = await execAsync(buildCommand);
|