@universityofmaryland/web-model-library 1.0.5 → 1.0.6
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/README.md +1 -1
- package/dist/attributes/checks.js +3 -3
- package/dist/attributes/checks.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @universityofmaryland/web-model-library
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@universityofmaryland/web-model-library)
|
|
4
4
|
|
|
5
5
|
Core utilities for building web components in the UMD design system. Provides the foundational tools for attribute handling, slot management, component registration, and custom element creation.
|
|
6
6
|
|
|
@@ -153,12 +153,12 @@ const isData = {
|
|
|
153
153
|
...props,
|
|
154
154
|
attributeNameOld: AttributeNames.deprecated.feed.FEED_UNION,
|
|
155
155
|
attributeNameNew: AttributeNames.feed.union,
|
|
156
|
-
attributeValue: AttributeValues.state.
|
|
156
|
+
attributeValue: AttributeValues.state.TRUE
|
|
157
157
|
}) || isAttributeTrue({
|
|
158
158
|
...props,
|
|
159
159
|
attributeName: AttributeNames.feed.union,
|
|
160
|
-
attributeValue: AttributeValues.state.
|
|
161
|
-
defaultValue:
|
|
160
|
+
attributeValue: AttributeValues.state.TRUE,
|
|
161
|
+
defaultValue: false
|
|
162
162
|
})
|
|
163
163
|
};
|
|
164
164
|
const isDisplay = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.js","sources":["../../source/attributes/checks.ts"],"sourcesContent":["/**\n * Attribute Check Utilities\n *\n * Provides a comprehensive set of functions to check attribute states on HTML elements.\n * These utilities form the foundation of the component attribute system.\n *\n * ## Function Categories:\n *\n * 1. **isTheme**: Theme-related checks (dark, light, gold, maryland)\n * 2. **isVisual**: Visual state checks (aligned, bordered, transparent, etc.)\n * 3. **isDisplay**: Display mode checks (feature, list, promo, etc.)\n * 4. **isLayout**: Layout configuration checks (fixed, hidden, position)\n * 5. **isInfo**: Content type checks (admissions, events, news, etc.)\n * 6. **includesFeature**: Feature flag checks (animation, lazyLoad, etc.)\n * 7. **getValue**: Attribute value getters (url, title, styleProps)\n *\n * ## Naming Convention:\n * - `is*` functions return boolean values\n * - `includes*` functions check for feature presence\n * - `getValue*` functions return string values\n *\n * ## Deprecation Handling:\n * Many functions handle both current (data-*) and deprecated attribute names,\n * logging warnings when deprecated attributes are used.\n */\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { AttributeNames } from './names';\nimport { AttributeValues } from './values';\n\n// Types\n/**\n * Properties for attribute checking functions\n */\ninterface AttributeElementProps {\n /** The HTML element to check attributes on */\n element: HTMLElement;\n /** Default value to return if attribute is not found */\n defaultValue?: boolean;\n}\n\ninterface AttributeProps extends AttributeElementProps {\n attributeName: string;\n attributeValue: string;\n}\n\ntype AttributeNullProps = Omit<AttributeProps, 'attributeValue'>;\n\ninterface DeprecatedAttributeProps extends AttributeElementProps {\n attributeNameOld: string;\n attributeNameNew: string;\n attributeValue: string;\n}\n\ninterface ValueGetterConfig {\n currentName: string;\n deprecatedName?: string;\n}\n\n// Core attribute check utilities\n\n/**\n * Checks if an attribute equals a specific value.\n * Returns defaultValue if attribute is not present.\n * Special handling: 'false' string always returns false.\n *\n * @internal\n */\nconst isAttributeTrue = ({\n element,\n attributeName,\n attributeValue,\n defaultValue = false,\n}: AttributeProps): boolean => {\n const value = element.getAttribute(attributeName);\n\n if (value === null) {\n return defaultValue;\n }\n\n if (value === 'false') {\n return false;\n }\n\n return value === attributeValue;\n};\n\nconst isAttributeNotNull = ({\n element,\n attributeName,\n}: AttributeNullProps): boolean => {\n const value = element.getAttribute(attributeName);\n\n if (value === 'true') return true;\n if (value === 'false') return false;\n\n return value !== null;\n};\n\nconst depcreationWarning = ({\n element,\n attributeNameOld,\n attributeNameNew,\n}: {\n element: HTMLElement;\n attributeNameOld: string;\n attributeNameNew: string;\n}) => {\n console.warn(\n `UMD Web Component: ${element.nodeName} - Attribute \"${attributeNameOld}\" is deprecated. ` +\n `Use \"${attributeNameNew}\" instead. This attribute will be removed in version 2.0.`,\n );\n};\n\nconst checkDeprecatedAttribute = (props: DeprecatedAttributeProps): boolean => {\n const {\n element,\n attributeNameOld,\n attributeNameNew,\n attributeValue,\n ...rest\n } = props;\n const isDeprecatedUsed = isAttributeTrue({\n ...rest,\n element,\n attributeName: attributeNameOld,\n attributeValue,\n });\n\n if (isDeprecatedUsed) {\n depcreationWarning(props);\n return true;\n }\n\n return false;\n};\n\nconst createAttributeCheck =\n (attributeName: string, attributeValue: string, defaultValue = false) =>\n (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName,\n attributeValue,\n defaultValue,\n });\n\nconst createValueGetter = ({\n currentName,\n deprecatedName,\n}: ValueGetterConfig) => {\n return ({ element }: AttributeElementProps): string | null => {\n if (deprecatedName) {\n const deprecatedValue = element.getAttribute(deprecatedName);\n if (deprecatedValue !== null) {\n depcreationWarning({\n element,\n attributeNameOld: deprecatedName,\n attributeNameNew: currentName,\n });\n\n return deprecatedValue;\n }\n }\n\n const value = element.getAttribute(currentName);\n if (value !== null) {\n return value;\n }\n\n return null;\n };\n};\n\n// Value checks with null checks\nconst hasInfo = {\n gifts: (props: AttributeElementProps) =>\n isAttributeNotNull({\n ...props,\n attributeName: AttributeNames.information.gift,\n }),\n search: (props: AttributeElementProps) =>\n isAttributeNotNull({\n ...props,\n attributeName: AttributeNames.information.search,\n }),\n};\n\n// Decoration checks\nconst hasDecoration = {\n line: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.option.OPTIONAL_HAS_LINE,\n attributeNameNew: AttributeNames.decoration.line,\n attributeValue: '',\n }) ||\n isAttributeNotNull({\n ...props,\n attributeName: AttributeNames.decoration.line,\n }),\n};\n\n// Feature checks\nconst includesFeature = {\n animation: createAttributeCheck(\n AttributeNames.feature.animation,\n AttributeValues.state.TRUE,\n true,\n ),\n imageExpand: createAttributeCheck(\n AttributeNames.feature.imageExpand,\n AttributeValues.state.TRUE,\n true,\n ),\n fullScreenOption: createAttributeCheck(\n AttributeNames.deprecated.feature.FULLSCREEN,\n AttributeValues.state.TRUE,\n true,\n ),\n visualTime: createAttributeCheck(\n AttributeNames.deprecated.feature.SHOW_TIME,\n AttributeValues.state.TRUE,\n true,\n ),\n lazyLoad: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.feed.FEED_LAZY_LOAD,\n attributeNameNew: AttributeNames.feature.lazyLoad,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.feature.lazyLoad,\n attributeValue: AttributeValues.state.TRUE,\n }),\n} as const;\n\n// Data checks\nconst isData = {\n type: {\n academic: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.feed.type,\n attributeValue: AttributeValues.data.type.academic,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.feed.type,\n attributeValue: AttributeValues.data.type.academic,\n }),\n },\n union: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.feed.FEED_UNION,\n attributeNameNew: AttributeNames.feed.union,\n attributeValue: AttributeValues.state.FALSE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.feed.union,\n attributeValue: AttributeValues.state.FALSE,\n defaultValue: true,\n }),\n} as const;\n\n// Display checks\nconst isDisplay = {\n block: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.block,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.block,\n }),\n feature: createAttributeCheck(\n AttributeNames.deprecated.display.DISPLAY,\n AttributeValues.display.feature,\n ),\n featured: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.featured,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.featured,\n }),\n hero: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.hero,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.hero,\n }),\n list: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.list,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.list,\n }),\n outline: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.type.OUTLINE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.type.OUTLINE,\n }),\n overlay: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.overlay,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.overlay,\n }),\n promo: createAttributeCheck(\n AttributeNames.deprecated.display.DISPLAY,\n AttributeValues.display.promo,\n ),\n primary: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.type.PRIMARY,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.type.PRIMARY,\n }),\n secondary: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.type.SECONDARY,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.type.SECONDARY,\n }),\n short: createAttributeCheck(\n AttributeNames.display.default,\n AttributeValues.display.short,\n ),\n standardCentered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.defaultCentered,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.deprecated.type.TYPE,\n attributeValue: AttributeValues.layout.defaultCentered,\n }),\n standardInterior: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.defaultInterior,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.deprecated.type.TYPE,\n attributeValue: AttributeValues.layout.defaultInterior,\n }),\n standardInteriorCentered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.defaultInteriorCentered,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.deprecated.type.TYPE,\n attributeValue: AttributeValues.layout.defaultInteriorCentered,\n }),\n statement: createAttributeCheck(\n AttributeNames.deprecated.display.DISPLAY,\n AttributeValues.display.statement,\n ),\n sticky: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.sticky,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.sticky,\n }),\n stacked: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.stacked,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.stacked,\n }),\n stackedInteriorDeprecated: createAttributeCheck(\n AttributeNames.deprecated.type.TYPE,\n AttributeValues.layout.stackedInterior,\n ),\n stackedInterior: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.stackedInterior,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.stackedInterior,\n }),\n tabular: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.tabular,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.tabular,\n }),\n mega: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.DATA_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.mega,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.mega,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.mega,\n }),\n visual: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.DATA_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.visual,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.visual,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.visual,\n }),\n simple: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.DATA_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.simple,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.simple,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.simple,\n }),\n} as const;\n\n// Information checks\nconst isInfo = {\n admissions: createAttributeCheck(\n AttributeNames.information.admissions,\n AttributeValues.state.TRUE,\n ),\n events: createAttributeCheck(\n AttributeNames.information.events,\n AttributeValues.state.TRUE,\n ),\n news: createAttributeCheck(\n AttributeNames.information.news,\n AttributeValues.state.TRUE,\n ),\n schools: createAttributeCheck(\n AttributeNames.information.schools,\n AttributeValues.state.TRUE,\n ),\n searchDomain: createAttributeCheck(\n AttributeNames.information.searchType,\n AttributeValues.search.domain,\n ),\n} as const;\n\n// Layout checks\nconst isLayout = {\n alertOff: createAttributeCheck(\n AttributeNames.layout.alertOff,\n AttributeValues.state.TRUE,\n ),\n alignmentRight: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_ALIGNMENT,\n attributeNameNew: AttributeNames.layout.alignment,\n attributeValue: AttributeValues.layout.right,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.alignment,\n attributeValue: AttributeValues.layout.right,\n }),\n fixed: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_FIXED,\n attributeNameNew: AttributeNames.layout.fixed,\n attributeValue: '',\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.fixed,\n attributeValue: AttributeValues.state.TRUE,\n }),\n fullImage: createAttributeCheck(\n AttributeNames.deprecated.type.TYPE,\n AttributeValues.layout.fullImage,\n ),\n heightSmall: (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.height,\n attributeValue: AttributeValues.layout.small,\n }),\n hidden: createAttributeCheck(\n AttributeNames.layout.hidden,\n AttributeValues.state.TRUE,\n ),\n image: createAttributeCheck(\n AttributeNames.deprecated.type.TYPE,\n AttributeValues.display.image,\n ),\n imagePositionRight: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_IMAGE_POSITION,\n attributeNameNew: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.right,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.right,\n defaultValue: true,\n }),\n imagePositionLeft: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_IMAGE_POSITION,\n attributeNameNew: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.left,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.left,\n defaultValue: false,\n }),\n imageScaled: (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.imageScaled,\n attributeValue: AttributeValues.state.TRUE,\n defaultValue: true,\n }),\n interior: createAttributeCheck(\n AttributeNames.layout.interior,\n AttributeValues.state.TRUE,\n ),\n lock: createAttributeCheck(\n AttributeNames.layout.lock,\n AttributeValues.state.TRUE,\n ),\n lockFull: createAttributeCheck(\n AttributeNames.layout.lock,\n AttributeValues.layout.large,\n ),\n reverse: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.DEFAULT,\n attributeNameNew: AttributeNames.layout.reverse,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.reverse,\n attributeValue: AttributeValues.state.TRUE,\n }),\n spaceHorizontalLarge: (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.spaceHorizontal,\n attributeValue: AttributeValues.layout.large,\n }),\n textCentered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_TEXT_CENTER,\n attributeNameNew: AttributeNames.layout.text,\n attributeValue: AttributeValues.layout.center,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.text,\n attributeValue: AttributeValues.layout.center,\n }),\n} as const;\n\n// Social checks\n\nconst isSharing = {\n email: createAttributeCheck(\n AttributeNames.sharing.email,\n AttributeValues.state.TRUE,\n ),\n print: createAttributeCheck(\n AttributeNames.sharing.print,\n AttributeValues.state.TRUE,\n ),\n} as const;\n\nconst includesSharing = {\n facebook: createAttributeCheck(\n AttributeNames.social.facebook,\n AttributeValues.state.TRUE,\n true,\n ),\n twitter: createAttributeCheck(\n AttributeNames.social.twitter,\n AttributeValues.state.TRUE,\n true,\n ),\n} as const;\n\n// Theme checks\nconst isTheme = {\n dark: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.DARK,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.DARK,\n }),\n gold: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.GOLD,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.GOLD,\n }),\n light: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.LIGHT,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.LIGHT,\n }),\n maryland: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.MARYLAND,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.MARYLAND,\n }),\n} as const;\n\n// Visual checks\nconst isVisual = {\n aligned: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_ALIGN,\n attributeNameNew: AttributeNames.visual.imageAligned,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.imageAligned,\n attributeValue: AttributeValues.state.TRUE,\n }),\n bordered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_BORDER,\n attributeNameNew: AttributeNames.visual.bordered,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.bordered,\n attributeValue: AttributeValues.state.TRUE,\n }),\n campaign: createAttributeCheck(\n AttributeNames.visual.campaign,\n AttributeValues.campaign.forward,\n ),\n icon_seal: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_HAS_LOGO,\n attributeNameNew: AttributeNames.visual.iconSeal,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.iconSeal,\n attributeValue: AttributeValues.state.TRUE,\n }),\n open: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.state.STATE_DEPRECATD,\n attributeNameNew: AttributeNames.visual.open,\n attributeValue: AttributeValues.state.OPENED,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.open,\n attributeValue: AttributeValues.state.TRUE,\n }),\n play: createAttributeCheck(\n AttributeNames.visual.play,\n AttributeValues.state.TRUE,\n ),\n quote: createAttributeCheck(\n AttributeNames.deprecated.visual.VISUAL_QUOTE,\n AttributeValues.state.TRUE,\n ),\n showIcon: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_ICON,\n attributeNameNew: AttributeNames.visual.icon,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.icon,\n attributeValue: AttributeValues.state.TRUE,\n }),\n sizeNormal: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_SIZE,\n attributeNameNew: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.NORMAL,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.NORMAL,\n }),\n showTime: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.feature.SHOW_TIME,\n attributeNameNew: AttributeNames.visual.time,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.time,\n attributeValue: AttributeValues.state.TRUE,\n defaultValue: true,\n }),\n sizeLarge: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_SIZE,\n attributeNameNew: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.LARGE,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_SIZE,\n attributeNameNew: AttributeNames.visual.size,\n attributeValue: '',\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.LARGE,\n }),\n stickyFirst: createAttributeCheck(\n AttributeNames.deprecated.option.OPTIONAL_STICKY_FIRST,\n AttributeValues.state.TRUE,\n true,\n ),\n transparent: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_TRANSPARENT,\n attributeNameNew: AttributeNames.visual.transparent,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.transparent,\n attributeValue: AttributeValues.state.TRUE,\n }),\n} as const;\n\n// Value getters\nconst getValue = {\n alertUrl: createValueGetter({\n currentName: AttributeNames.information.alertUrl,\n }),\n loadingPriority: createValueGetter({\n currentName: AttributeNames.loading.priority,\n }),\n daysToHide: createValueGetter({\n currentName: AttributeNames.visual.hiddenDays,\n deprecatedName: AttributeNames.deprecated.visual.VISUAL_DAYS_TO_HIDE,\n }),\n feedEntryRemoveIds: createValueGetter({\n currentName: AttributeNames.information.removeIds,\n deprecatedName: AttributeNames.deprecated.feed.FEED_NOT_ENTRIES,\n }),\n feedFilterIds: createValueGetter({\n currentName: AttributeNames.information.filterIds,\n deprecatedName: AttributeNames.deprecated.feed.FEED_CATEGORIES,\n }),\n feedToken: createValueGetter({\n currentName: AttributeNames.information.token,\n deprecatedName: AttributeNames.deprecated.feed.FEED_TOKEN,\n }),\n giftUrl: createValueGetter({\n currentName: AttributeNames.information.gift,\n }),\n id: createValueGetter({\n currentName: AttributeNames.information.id,\n }),\n ids: createValueGetter({\n currentName: AttributeNames.information.ids,\n }),\n layoutColumnCount: createValueGetter({\n currentName: AttributeNames.layout.columnCount,\n deprecatedName: AttributeNames.deprecated.feed.FEED_COLUMN_COUNT,\n }),\n layoutLock: createValueGetter({\n currentName: AttributeNames.layout.lock,\n }),\n layoutRowCount: createValueGetter({\n currentName: AttributeNames.layout.rowCount,\n deprecatedName: AttributeNames.deprecated.feed.FEED_ROW_COUNT,\n }),\n mediaTrained: createValueGetter({\n currentName: AttributeNames.information.mediaTrained,\n }),\n title: createValueGetter({\n currentName: AttributeNames.information.title,\n }),\n topPosition: createValueGetter({\n currentName: AttributeNames.layout.position,\n deprecatedName: AttributeNames.deprecated.layout.LAYOUT_STICKY_TOP,\n }),\n styleProps: (props: AttributeElementProps) => {\n const cssString = createValueGetter({\n ...props,\n currentName: AttributeNames.deprecated.visual.VISUAL_STYLE_PROPS,\n });\n\n if (cssString && typeof cssString === 'string') {\n return Styles.utilities.create.jss.objectFromString(cssString);\n }\n },\n url: createValueGetter({\n currentName: AttributeNames.information.url,\n }),\n} as const;\n\n// Public API\nexport {\n hasInfo,\n hasDecoration,\n includesFeature,\n isDisplay,\n isData,\n isInfo,\n isLayout,\n isSharing,\n includesSharing,\n isTheme,\n isVisual,\n getValue,\n};\n\nexport type {\n AttributeElementProps,\n AttributeProps,\n AttributeNullProps,\n DeprecatedAttributeProps,\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checks.js","sources":["../../source/attributes/checks.ts"],"sourcesContent":["/**\n * Attribute Check Utilities\n *\n * Provides a comprehensive set of functions to check attribute states on HTML elements.\n * These utilities form the foundation of the component attribute system.\n *\n * ## Function Categories:\n *\n * 1. **isTheme**: Theme-related checks (dark, light, gold, maryland)\n * 2. **isVisual**: Visual state checks (aligned, bordered, transparent, etc.)\n * 3. **isDisplay**: Display mode checks (feature, list, promo, etc.)\n * 4. **isLayout**: Layout configuration checks (fixed, hidden, position)\n * 5. **isInfo**: Content type checks (admissions, events, news, etc.)\n * 6. **includesFeature**: Feature flag checks (animation, lazyLoad, etc.)\n * 7. **getValue**: Attribute value getters (url, title, styleProps)\n *\n * ## Naming Convention:\n * - `is*` functions return boolean values\n * - `includes*` functions check for feature presence\n * - `getValue*` functions return string values\n *\n * ## Deprecation Handling:\n * Many functions handle both current (data-*) and deprecated attribute names,\n * logging warnings when deprecated attributes are used.\n */\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { AttributeNames } from './names';\nimport { AttributeValues } from './values';\n\n// Types\n/**\n * Properties for attribute checking functions\n */\ninterface AttributeElementProps {\n /** The HTML element to check attributes on */\n element: HTMLElement;\n /** Default value to return if attribute is not found */\n defaultValue?: boolean;\n}\n\ninterface AttributeProps extends AttributeElementProps {\n attributeName: string;\n attributeValue: string;\n}\n\ntype AttributeNullProps = Omit<AttributeProps, 'attributeValue'>;\n\ninterface DeprecatedAttributeProps extends AttributeElementProps {\n attributeNameOld: string;\n attributeNameNew: string;\n attributeValue: string;\n}\n\ninterface ValueGetterConfig {\n currentName: string;\n deprecatedName?: string;\n}\n\n// Core attribute check utilities\n\n/**\n * Checks if an attribute equals a specific value.\n * Returns defaultValue if attribute is not present.\n * Special handling: 'false' string always returns false.\n *\n * @internal\n */\nconst isAttributeTrue = ({\n element,\n attributeName,\n attributeValue,\n defaultValue = false,\n}: AttributeProps): boolean => {\n const value = element.getAttribute(attributeName);\n\n if (value === null) {\n return defaultValue;\n }\n\n if (value === 'false') {\n return false;\n }\n\n return value === attributeValue;\n};\n\nconst isAttributeNotNull = ({\n element,\n attributeName,\n}: AttributeNullProps): boolean => {\n const value = element.getAttribute(attributeName);\n\n if (value === 'true') return true;\n if (value === 'false') return false;\n\n return value !== null;\n};\n\nconst depcreationWarning = ({\n element,\n attributeNameOld,\n attributeNameNew,\n}: {\n element: HTMLElement;\n attributeNameOld: string;\n attributeNameNew: string;\n}) => {\n console.warn(\n `UMD Web Component: ${element.nodeName} - Attribute \"${attributeNameOld}\" is deprecated. ` +\n `Use \"${attributeNameNew}\" instead. This attribute will be removed in version 2.0.`,\n );\n};\n\nconst checkDeprecatedAttribute = (props: DeprecatedAttributeProps): boolean => {\n const {\n element,\n attributeNameOld,\n attributeNameNew,\n attributeValue,\n ...rest\n } = props;\n const isDeprecatedUsed = isAttributeTrue({\n ...rest,\n element,\n attributeName: attributeNameOld,\n attributeValue,\n });\n\n if (isDeprecatedUsed) {\n depcreationWarning(props);\n return true;\n }\n\n return false;\n};\n\nconst createAttributeCheck =\n (attributeName: string, attributeValue: string, defaultValue = false) =>\n (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName,\n attributeValue,\n defaultValue,\n });\n\nconst createValueGetter = ({\n currentName,\n deprecatedName,\n}: ValueGetterConfig) => {\n return ({ element }: AttributeElementProps): string | null => {\n if (deprecatedName) {\n const deprecatedValue = element.getAttribute(deprecatedName);\n if (deprecatedValue !== null) {\n depcreationWarning({\n element,\n attributeNameOld: deprecatedName,\n attributeNameNew: currentName,\n });\n\n return deprecatedValue;\n }\n }\n\n const value = element.getAttribute(currentName);\n if (value !== null) {\n return value;\n }\n\n return null;\n };\n};\n\n// Value checks with null checks\nconst hasInfo = {\n gifts: (props: AttributeElementProps) =>\n isAttributeNotNull({\n ...props,\n attributeName: AttributeNames.information.gift,\n }),\n search: (props: AttributeElementProps) =>\n isAttributeNotNull({\n ...props,\n attributeName: AttributeNames.information.search,\n }),\n};\n\n// Decoration checks\nconst hasDecoration = {\n line: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.option.OPTIONAL_HAS_LINE,\n attributeNameNew: AttributeNames.decoration.line,\n attributeValue: '',\n }) ||\n isAttributeNotNull({\n ...props,\n attributeName: AttributeNames.decoration.line,\n }),\n};\n\n// Feature checks\nconst includesFeature = {\n animation: createAttributeCheck(\n AttributeNames.feature.animation,\n AttributeValues.state.TRUE,\n true,\n ),\n imageExpand: createAttributeCheck(\n AttributeNames.feature.imageExpand,\n AttributeValues.state.TRUE,\n true,\n ),\n fullScreenOption: createAttributeCheck(\n AttributeNames.deprecated.feature.FULLSCREEN,\n AttributeValues.state.TRUE,\n true,\n ),\n visualTime: createAttributeCheck(\n AttributeNames.deprecated.feature.SHOW_TIME,\n AttributeValues.state.TRUE,\n true,\n ),\n lazyLoad: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.feed.FEED_LAZY_LOAD,\n attributeNameNew: AttributeNames.feature.lazyLoad,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.feature.lazyLoad,\n attributeValue: AttributeValues.state.TRUE,\n }),\n} as const;\n\n// Data checks\nconst isData = {\n type: {\n academic: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.feed.type,\n attributeValue: AttributeValues.data.type.academic,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.feed.type,\n attributeValue: AttributeValues.data.type.academic,\n }),\n },\n union: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.feed.FEED_UNION,\n attributeNameNew: AttributeNames.feed.union,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.feed.union,\n attributeValue: AttributeValues.state.TRUE,\n defaultValue: false,\n }),\n} as const;\n\n// Display checks\nconst isDisplay = {\n block: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.block,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.block,\n }),\n feature: createAttributeCheck(\n AttributeNames.deprecated.display.DISPLAY,\n AttributeValues.display.feature,\n ),\n featured: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.featured,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.featured,\n }),\n hero: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.hero,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.hero,\n }),\n list: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.list,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.list,\n }),\n outline: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.type.OUTLINE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.type.OUTLINE,\n }),\n overlay: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.overlay,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.overlay,\n }),\n promo: createAttributeCheck(\n AttributeNames.deprecated.display.DISPLAY,\n AttributeValues.display.promo,\n ),\n primary: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.type.PRIMARY,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.type.PRIMARY,\n }),\n secondary: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.type.SECONDARY,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.type.SECONDARY,\n }),\n short: createAttributeCheck(\n AttributeNames.display.default,\n AttributeValues.display.short,\n ),\n standardCentered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.defaultCentered,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.deprecated.type.TYPE,\n attributeValue: AttributeValues.layout.defaultCentered,\n }),\n standardInterior: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.defaultInterior,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.deprecated.type.TYPE,\n attributeValue: AttributeValues.layout.defaultInterior,\n }),\n standardInteriorCentered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.defaultInteriorCentered,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.deprecated.type.TYPE,\n attributeValue: AttributeValues.layout.defaultInteriorCentered,\n }),\n statement: createAttributeCheck(\n AttributeNames.deprecated.display.DISPLAY,\n AttributeValues.display.statement,\n ),\n sticky: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.sticky,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.sticky,\n }),\n stacked: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.stacked,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.stacked,\n }),\n stackedInteriorDeprecated: createAttributeCheck(\n AttributeNames.deprecated.type.TYPE,\n AttributeValues.layout.stackedInterior,\n ),\n stackedInterior: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.stackedInterior,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.layout.stackedInterior,\n }),\n tabular: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.tabular,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.tabular,\n }),\n mega: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.DATA_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.mega,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.mega,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.mega,\n }),\n visual: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.DATA_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.visual,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.visual,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.visual,\n }),\n simple: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.DATA_TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.simple,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.type.TYPE,\n attributeNameNew: AttributeNames.display.default,\n attributeValue: AttributeValues.display.simple,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.display.default,\n attributeValue: AttributeValues.display.simple,\n }),\n} as const;\n\n// Information checks\nconst isInfo = {\n admissions: createAttributeCheck(\n AttributeNames.information.admissions,\n AttributeValues.state.TRUE,\n ),\n events: createAttributeCheck(\n AttributeNames.information.events,\n AttributeValues.state.TRUE,\n ),\n news: createAttributeCheck(\n AttributeNames.information.news,\n AttributeValues.state.TRUE,\n ),\n schools: createAttributeCheck(\n AttributeNames.information.schools,\n AttributeValues.state.TRUE,\n ),\n searchDomain: createAttributeCheck(\n AttributeNames.information.searchType,\n AttributeValues.search.domain,\n ),\n} as const;\n\n// Layout checks\nconst isLayout = {\n alertOff: createAttributeCheck(\n AttributeNames.layout.alertOff,\n AttributeValues.state.TRUE,\n ),\n alignmentRight: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_ALIGNMENT,\n attributeNameNew: AttributeNames.layout.alignment,\n attributeValue: AttributeValues.layout.right,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.alignment,\n attributeValue: AttributeValues.layout.right,\n }),\n fixed: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_FIXED,\n attributeNameNew: AttributeNames.layout.fixed,\n attributeValue: '',\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.fixed,\n attributeValue: AttributeValues.state.TRUE,\n }),\n fullImage: createAttributeCheck(\n AttributeNames.deprecated.type.TYPE,\n AttributeValues.layout.fullImage,\n ),\n heightSmall: (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.height,\n attributeValue: AttributeValues.layout.small,\n }),\n hidden: createAttributeCheck(\n AttributeNames.layout.hidden,\n AttributeValues.state.TRUE,\n ),\n image: createAttributeCheck(\n AttributeNames.deprecated.type.TYPE,\n AttributeValues.display.image,\n ),\n imagePositionRight: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_IMAGE_POSITION,\n attributeNameNew: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.right,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.right,\n defaultValue: true,\n }),\n imagePositionLeft: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.LAYOUT_IMAGE_POSITION,\n attributeNameNew: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.left,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.imagePosition,\n attributeValue: AttributeValues.layout.left,\n defaultValue: false,\n }),\n imageScaled: (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.imageScaled,\n attributeValue: AttributeValues.state.TRUE,\n defaultValue: true,\n }),\n interior: createAttributeCheck(\n AttributeNames.layout.interior,\n AttributeValues.state.TRUE,\n ),\n lock: createAttributeCheck(\n AttributeNames.layout.lock,\n AttributeValues.state.TRUE,\n ),\n lockFull: createAttributeCheck(\n AttributeNames.layout.lock,\n AttributeValues.layout.large,\n ),\n reverse: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.layout.DEFAULT,\n attributeNameNew: AttributeNames.layout.reverse,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.reverse,\n attributeValue: AttributeValues.state.TRUE,\n }),\n spaceHorizontalLarge: (props: AttributeElementProps): boolean =>\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.spaceHorizontal,\n attributeValue: AttributeValues.layout.large,\n }),\n textCentered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_TEXT_CENTER,\n attributeNameNew: AttributeNames.layout.text,\n attributeValue: AttributeValues.layout.center,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.layout.text,\n attributeValue: AttributeValues.layout.center,\n }),\n} as const;\n\n// Social checks\n\nconst isSharing = {\n email: createAttributeCheck(\n AttributeNames.sharing.email,\n AttributeValues.state.TRUE,\n ),\n print: createAttributeCheck(\n AttributeNames.sharing.print,\n AttributeValues.state.TRUE,\n ),\n} as const;\n\nconst includesSharing = {\n facebook: createAttributeCheck(\n AttributeNames.social.facebook,\n AttributeValues.state.TRUE,\n true,\n ),\n twitter: createAttributeCheck(\n AttributeNames.social.twitter,\n AttributeValues.state.TRUE,\n true,\n ),\n} as const;\n\n// Theme checks\nconst isTheme = {\n dark: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.DARK,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.DARK,\n }),\n gold: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.GOLD,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.GOLD,\n }),\n light: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.LIGHT,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.LIGHT,\n }),\n maryland: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.theme.THEME_DEPRECATD,\n attributeNameNew: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.MARYLAND,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.theme.default,\n attributeValue: AttributeValues.theme.MARYLAND,\n }),\n} as const;\n\n// Visual checks\nconst isVisual = {\n aligned: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_ALIGN,\n attributeNameNew: AttributeNames.visual.imageAligned,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.imageAligned,\n attributeValue: AttributeValues.state.TRUE,\n }),\n bordered: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_BORDER,\n attributeNameNew: AttributeNames.visual.bordered,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.bordered,\n attributeValue: AttributeValues.state.TRUE,\n }),\n campaign: createAttributeCheck(\n AttributeNames.visual.campaign,\n AttributeValues.campaign.forward,\n ),\n icon_seal: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_HAS_LOGO,\n attributeNameNew: AttributeNames.visual.iconSeal,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.iconSeal,\n attributeValue: AttributeValues.state.TRUE,\n }),\n open: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.state.STATE_DEPRECATD,\n attributeNameNew: AttributeNames.visual.open,\n attributeValue: AttributeValues.state.OPENED,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.open,\n attributeValue: AttributeValues.state.TRUE,\n }),\n play: createAttributeCheck(\n AttributeNames.visual.play,\n AttributeValues.state.TRUE,\n ),\n quote: createAttributeCheck(\n AttributeNames.deprecated.visual.VISUAL_QUOTE,\n AttributeValues.state.TRUE,\n ),\n showIcon: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_ICON,\n attributeNameNew: AttributeNames.visual.icon,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.icon,\n attributeValue: AttributeValues.state.TRUE,\n }),\n sizeNormal: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_SIZE,\n attributeNameNew: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.NORMAL,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.NORMAL,\n }),\n showTime: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.feature.SHOW_TIME,\n attributeNameNew: AttributeNames.visual.time,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.time,\n attributeValue: AttributeValues.state.TRUE,\n defaultValue: true,\n }),\n sizeLarge: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_SIZE,\n attributeNameNew: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.LARGE,\n }) ||\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.display.DISPLAY_SIZE,\n attributeNameNew: AttributeNames.visual.size,\n attributeValue: '',\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.size,\n attributeValue: AttributeValues.size.LARGE,\n }),\n stickyFirst: createAttributeCheck(\n AttributeNames.deprecated.option.OPTIONAL_STICKY_FIRST,\n AttributeValues.state.TRUE,\n true,\n ),\n transparent: (props: AttributeElementProps): boolean =>\n checkDeprecatedAttribute({\n ...props,\n attributeNameOld: AttributeNames.deprecated.visual.VISUAL_TRANSPARENT,\n attributeNameNew: AttributeNames.visual.transparent,\n attributeValue: AttributeValues.state.TRUE,\n }) ||\n isAttributeTrue({\n ...props,\n attributeName: AttributeNames.visual.transparent,\n attributeValue: AttributeValues.state.TRUE,\n }),\n} as const;\n\n// Value getters\nconst getValue = {\n alertUrl: createValueGetter({\n currentName: AttributeNames.information.alertUrl,\n }),\n loadingPriority: createValueGetter({\n currentName: AttributeNames.loading.priority,\n }),\n daysToHide: createValueGetter({\n currentName: AttributeNames.visual.hiddenDays,\n deprecatedName: AttributeNames.deprecated.visual.VISUAL_DAYS_TO_HIDE,\n }),\n feedEntryRemoveIds: createValueGetter({\n currentName: AttributeNames.information.removeIds,\n deprecatedName: AttributeNames.deprecated.feed.FEED_NOT_ENTRIES,\n }),\n feedFilterIds: createValueGetter({\n currentName: AttributeNames.information.filterIds,\n deprecatedName: AttributeNames.deprecated.feed.FEED_CATEGORIES,\n }),\n feedToken: createValueGetter({\n currentName: AttributeNames.information.token,\n deprecatedName: AttributeNames.deprecated.feed.FEED_TOKEN,\n }),\n giftUrl: createValueGetter({\n currentName: AttributeNames.information.gift,\n }),\n id: createValueGetter({\n currentName: AttributeNames.information.id,\n }),\n ids: createValueGetter({\n currentName: AttributeNames.information.ids,\n }),\n layoutColumnCount: createValueGetter({\n currentName: AttributeNames.layout.columnCount,\n deprecatedName: AttributeNames.deprecated.feed.FEED_COLUMN_COUNT,\n }),\n layoutLock: createValueGetter({\n currentName: AttributeNames.layout.lock,\n }),\n layoutRowCount: createValueGetter({\n currentName: AttributeNames.layout.rowCount,\n deprecatedName: AttributeNames.deprecated.feed.FEED_ROW_COUNT,\n }),\n mediaTrained: createValueGetter({\n currentName: AttributeNames.information.mediaTrained,\n }),\n title: createValueGetter({\n currentName: AttributeNames.information.title,\n }),\n topPosition: createValueGetter({\n currentName: AttributeNames.layout.position,\n deprecatedName: AttributeNames.deprecated.layout.LAYOUT_STICKY_TOP,\n }),\n styleProps: (props: AttributeElementProps) => {\n const cssString = createValueGetter({\n ...props,\n currentName: AttributeNames.deprecated.visual.VISUAL_STYLE_PROPS,\n });\n\n if (cssString && typeof cssString === 'string') {\n return Styles.utilities.create.jss.objectFromString(cssString);\n }\n },\n url: createValueGetter({\n currentName: AttributeNames.information.url,\n }),\n} as const;\n\n// Public API\nexport {\n hasInfo,\n hasDecoration,\n includesFeature,\n isDisplay,\n isData,\n isInfo,\n isLayout,\n isSharing,\n includesSharing,\n isTheme,\n isVisual,\n getValue,\n};\n\nexport type {\n AttributeElementProps,\n AttributeProps,\n AttributeNullProps,\n DeprecatedAttributeProps,\n};\n"],"names":[],"mappings":"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"}
|