PHP 7.4.33
Preview: parseBoxShadowValue.js Size: 1.81 KB
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/tailwindcss/src/util/parseBoxShadowValue.js
import { splitAtTopLevelOnly } from './splitAtTopLevelOnly'

let KEYWORDS = new Set(['inset', 'inherit', 'initial', 'revert', 'unset'])
let SPACE = /\ +(?![^(]*\))/g // Similar to the one above, but with spaces instead.
let LENGTH = /^-?(\d+|\.\d+)(.*?)$/g

export function parseBoxShadowValue(input) {
  let shadows = splitAtTopLevelOnly(input, ',')
  return shadows.map((shadow) => {
    let value = shadow.trim()
    let result = { raw: value }
    let parts = value.split(SPACE)
    let seen = new Set()

    for (let part of parts) {
      // Reset index, since the regex is stateful.
      LENGTH.lastIndex = 0

      // Keyword
      if (!seen.has('KEYWORD') && KEYWORDS.has(part)) {
        result.keyword = part
        seen.add('KEYWORD')
      }

      // Length value
      else if (LENGTH.test(part)) {
        if (!seen.has('X')) {
          result.x = part
          seen.add('X')
        } else if (!seen.has('Y')) {
          result.y = part
          seen.add('Y')
        } else if (!seen.has('BLUR')) {
          result.blur = part
          seen.add('BLUR')
        } else if (!seen.has('SPREAD')) {
          result.spread = part
          seen.add('SPREAD')
        }
      }

      // Color or unknown
      else {
        if (!result.color) {
          result.color = part
        } else {
          if (!result.unknown) result.unknown = []
          result.unknown.push(part)
        }
      }
    }

    // Check if valid
    result.valid = result.x !== undefined && result.y !== undefined

    return result
  })
}

export function formatBoxShadowValue(shadows) {
  return shadows
    .map((shadow) => {
      if (!shadow.valid) {
        return shadow.raw
      }

      return [shadow.keyword, shadow.x, shadow.y, shadow.blur, shadow.spread, shadow.color]
        .filter(Boolean)
        .join(' ')
    })
    .join(', ')
}

Directory Contents

Dirs: 0 × Files: 46
Name Size Perms Modified Actions
774 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
98 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
560 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
283 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
1.30 KB lrw-r--r-- 2025-03-28 11:04:37
Edit Download
2.65 KB lrw-r--r-- 2025-03-28 11:04:37
Edit Download
4.20 KB lrw-r--r-- 2025-03-28 11:04:37
Edit Download
578 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
703 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
1.19 KB lrw-r--r-- 2025-03-28 11:04:37
Edit Download
10.00 KB lrw-r--r-- 2025-03-28 11:04:37
Edit Download
361 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
255 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
96 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
410 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
9.63 KB lrw-r--r-- 2025-03-28 11:04:37
Edit Download
1.01 KB lrw-r--r-- 2025-03-28 11:04:37
Edit Download
126 B lrw-r--r-- 2025-03-28 11:04:37
Edit Download
142 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
262 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
1.57 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
789 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
634 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
771 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
8.81 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
4.24 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
2.30 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
1.81 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
867 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
510 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
429 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
7.99 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
992 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
5.58 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
785 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
6.80 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
1.55 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
243 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
1.49 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
72 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
137 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
739 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
1.60 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
888 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
1020 B lrw-r--r-- 2025-03-28 11:04:38
Edit Download
1.19 KB lrw-r--r-- 2025-03-28 11:04:38
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).