@times-design-system/components-wordpress 0.1.1-alpha.831 → 0.7.2-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BLOCK_CREATION_CHECKLIST.md +160 -0
- package/BUILD.md +411 -0
- package/CHANGELOG.md +30 -0
- package/LICENSE +29 -0
- package/README.md +972 -5
- package/TRANSFORMATION_GUIDE.md +635 -0
- package/block.json +10 -0
- package/dist/block.json +10 -0
- package/dist/blocks/ad-container/block.json +28 -0
- package/dist/blocks/ad-container/edit.js +42 -0
- package/dist/blocks/ad-container/index.js +10 -0
- package/dist/blocks/ad-container/save.js +16 -0
- package/dist/blocks/ad-container/style-editor.css +4 -0
- package/dist/blocks/ad-container/style.css +27 -0
- package/dist/blocks/button/block.json +89 -0
- package/dist/blocks/button/edit.js +187 -0
- package/dist/blocks/button/index.js +11 -0
- package/dist/blocks/button/save.js +52 -0
- package/dist/blocks/button/style-editor.css +15 -0
- package/dist/blocks/button/style.css +37 -0
- package/dist/blocks/chip/block.json +57 -0
- package/dist/blocks/chip/edit.js +113 -0
- package/dist/blocks/chip/index.js +10 -0
- package/dist/blocks/chip/save.js +36 -0
- package/dist/blocks/chip/style-editor.css +5 -0
- package/dist/blocks/chip/style.css +48 -0
- package/dist/blocks/divider/block.json +31 -0
- package/dist/blocks/divider/edit.js +42 -0
- package/dist/blocks/divider/index.js +10 -0
- package/dist/blocks/divider/save.js +18 -0
- package/dist/blocks/divider/style-editor.css +4 -0
- package/dist/blocks/divider/style.css +25 -0
- package/dist/blocks/flag/block.json +48 -0
- package/dist/blocks/flag/edit.js +82 -0
- package/dist/blocks/flag/index.js +10 -0
- package/dist/blocks/flag/save.js +25 -0
- package/dist/blocks/flag/style-editor.css +5 -0
- package/dist/blocks/flag/style.css +45 -0
- package/dist/blocks/icon-button/block.json +43 -0
- package/dist/blocks/icon-button/edit.js +82 -0
- package/dist/blocks/icon-button/index.js +10 -0
- package/dist/blocks/icon-button/save.js +29 -0
- package/dist/blocks/icon-button/style-editor.css +5 -0
- package/dist/blocks/icon-button/style.css +32 -0
- package/dist/blocks/input/block.json +47 -0
- package/dist/blocks/input/edit.js +78 -0
- package/dist/blocks/input/index.js +10 -0
- package/dist/blocks/input/save.js +27 -0
- package/dist/blocks/input/style-editor.css +8 -0
- package/dist/blocks/input/style.css +30 -0
- package/dist/blocks/link/block.json +71 -0
- package/dist/blocks/link/edit.js +151 -0
- package/dist/blocks/link/index.js +10 -0
- package/dist/blocks/link/save.js +46 -0
- package/dist/blocks/link/style-editor.css +5 -0
- package/dist/blocks/link/style.css +66 -0
- package/dist/blocks/text/block.json +32 -0
- package/dist/blocks/text/edit.js +56 -0
- package/dist/blocks/text/index.js +10 -0
- package/dist/blocks/text/save.js +18 -0
- package/dist/blocks/text/style-editor.css +4 -0
- package/dist/blocks/text/style.css +20 -0
- package/dist/blocks/toast/block.json +39 -0
- package/dist/blocks/toast/edit.js +85 -0
- package/dist/blocks/toast/index.js +10 -0
- package/dist/blocks/toast/save.js +29 -0
- package/dist/blocks/toast/style-editor.css +4 -0
- package/dist/blocks/toast/style.css +51 -0
- package/dist/index.cjs +2232 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -0
- package/dist/index.js +2196 -255
- package/dist/index.js.map +1 -1
- package/dist/plugin.php +79 -0
- package/dist/utils/classBuilder.js +53 -0
- package/package.json +39 -7
- package/plugin.php +79 -0
- package/rollup.config.js +39 -22
- package/scripts/build-plugin.cjs +121 -0
- package/scripts/create-block.sh +141 -0
- package/src/blocks/ad-container/block.json +28 -0
- package/src/blocks/ad-container/edit.js +42 -0
- package/src/blocks/ad-container/index.js +10 -0
- package/src/blocks/ad-container/save.js +16 -0
- package/src/blocks/ad-container/style-editor.css +4 -0
- package/src/blocks/ad-container/style.css +27 -0
- package/src/blocks/button/block.json +89 -0
- package/src/blocks/button/edit.js +187 -0
- package/src/blocks/button/index.js +11 -0
- package/src/blocks/button/save.js +52 -0
- package/src/blocks/button/style-editor.css +15 -0
- package/src/blocks/button/style.css +37 -0
- package/src/blocks/chip/block.json +57 -0
- package/src/blocks/chip/edit.js +113 -0
- package/src/blocks/chip/index.js +10 -0
- package/src/blocks/chip/save.js +36 -0
- package/src/blocks/chip/style-editor.css +5 -0
- package/src/blocks/chip/style.css +48 -0
- package/src/blocks/divider/block.json +31 -0
- package/src/blocks/divider/edit.js +42 -0
- package/src/blocks/divider/index.js +10 -0
- package/src/blocks/divider/save.js +18 -0
- package/src/blocks/divider/style-editor.css +4 -0
- package/src/blocks/divider/style.css +25 -0
- package/src/blocks/flag/block.json +48 -0
- package/src/blocks/flag/edit.js +82 -0
- package/src/blocks/flag/index.js +10 -0
- package/src/blocks/flag/save.js +25 -0
- package/src/blocks/flag/style-editor.css +5 -0
- package/src/blocks/flag/style.css +45 -0
- package/src/blocks/icon-button/block.json +43 -0
- package/src/blocks/icon-button/edit.js +82 -0
- package/src/blocks/icon-button/index.js +10 -0
- package/src/blocks/icon-button/save.js +29 -0
- package/src/blocks/icon-button/style-editor.css +5 -0
- package/src/blocks/icon-button/style.css +32 -0
- package/src/blocks/input/block.json +47 -0
- package/src/blocks/input/edit.js +78 -0
- package/src/blocks/input/index.js +10 -0
- package/src/blocks/input/save.js +27 -0
- package/src/blocks/input/style-editor.css +8 -0
- package/src/blocks/input/style.css +30 -0
- package/src/blocks/link/block.json +71 -0
- package/src/blocks/link/edit.js +151 -0
- package/src/blocks/link/index.js +10 -0
- package/src/blocks/link/save.js +46 -0
- package/src/blocks/link/style-editor.css +5 -0
- package/src/blocks/link/style.css +66 -0
- package/src/blocks/text/block.json +32 -0
- package/src/blocks/text/edit.js +56 -0
- package/src/blocks/text/index.js +10 -0
- package/src/blocks/text/save.js +18 -0
- package/src/blocks/text/style-editor.css +4 -0
- package/src/blocks/text/style.css +20 -0
- package/src/blocks/toast/block.json +39 -0
- package/src/blocks/toast/edit.js +85 -0
- package/src/blocks/toast/index.js +10 -0
- package/src/blocks/toast/save.js +29 -0
- package/src/blocks/toast/style-editor.css +4 -0
- package/src/blocks/toast/style.css +51 -0
- package/src/index.js +15 -12
- package/src/utils/classBuilder.js +53 -0
- package/tsconfig.json +4 -4
- package/__tests__/wordpress.test.js +0 -0
- package/dist/AdContainer/AdContainer.d.ts +0 -9
- package/dist/Article/ArticleMetaContainer/ArticleMetaContainer.d.ts +0 -8
- package/dist/Article/UpNextArticles/UpNextArticles.d.ts +0 -13
- package/dist/Button/Button.d.ts +0 -15
- package/dist/CommentsDisabled/CommentsDisabled.d.ts +0 -10
- package/dist/CommentsDisabled/CommentsDisabled.stories.d.ts +0 -44
- package/dist/CommentsDisabled/index.d.ts +0 -2
- package/dist/Divider/Divider.d.ts +0 -15
- package/dist/Input/Input.d.ts +0 -25
- package/dist/Link/Link.d.ts +0 -18
- package/dist/Text/Text.d.ts +0 -14
- package/dist/index.cjs.js +0 -299
- package/dist/index.cjs.js.map +0 -1
- package/dist/styles.css +0 -151
- package/dist/typographyStyles.css +0 -30
- package/dist/utils/cn.d.ts +0 -1
- package/dist/utils/hooks.d.ts +0 -8
- package/src/AdContainer/AdContainer.tsx +0 -31
- package/src/AdContainer/styles.css +0 -58
- package/src/Article/ArticleMetaContainer/ArticleMetaContainer.tsx +0 -14
- package/src/Article/ArticleMetaContainer/styles.css +0 -151
- package/src/Article/UpNextArticles/UpNextArticles.tsx +0 -69
- package/src/Article/UpNextArticles/styles.css +0 -151
- package/src/Button/Button.tsx +0 -36
- package/src/Button/styles.css +0 -30
- package/src/CommentsDisabled/CommentsDisabled.stories.tsx +0 -178
- package/src/CommentsDisabled/CommentsDisabled.tsx +0 -63
- package/src/CommentsDisabled/IMPLEMENTATION_SUMMARY.md +0 -305
- package/src/CommentsDisabled/README.md +0 -284
- package/src/CommentsDisabled/TOKEN_MAPPING.md +0 -269
- package/src/CommentsDisabled/index.ts +0 -2
- package/src/CommentsDisabled/styles.css +0 -82
- package/src/Divider/Divider.tsx +0 -41
- package/src/Divider/styles.css +0 -80
- package/src/Input/Input.tsx +0 -62
- package/src/Input/styles.css +0 -69
- package/src/Link/Link.tsx +0 -49
- package/src/Link/styles.css +0 -111
- package/src/Text/Text.tsx +0 -38
- package/src/Text/styles.css +0 -30
- package/src/Text/typographyStyles.css +0 -30
- package/src/utils/cn.js +0 -3
- package/src/utils/cn.tsx +0 -3
- package/src/utils/hooks.ts +0 -34
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/Button/Button.tsx","../src/utils/cn.tsx","../src/Text/Text.tsx","../src/AdContainer/AdContainer.tsx","../src/CommentsDisabled/CommentsDisabled.tsx","../src/Input/Input.tsx","../src/Divider/Divider.tsx","../src/Link/Link.tsx","../src/Article/UpNextArticles/UpNextArticles.tsx","../src/utils/hooks.ts"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport './styles.css';\n\ninterface ButtonProps {\n /** Is this the principal call to action on the page? */\n primary?: boolean;\n /** How large should the button be? */\n size?: 'small' | 'medium' | 'large';\n /** Button contents */\n label: string;\n /** Optional click handler */\n onClick?: () => void;\n}\n\n/** Primary UI component for user interaction */\nexport const Button: React.FC<ButtonProps> = ({\n primary,\n size,\n label,\n ...props\n}) => {\n const mode = primary\n ? 'storybook-button--primary'\n : 'storybook-button--secondary';\n return (\n <button\n type=\"button\"\n className={['storybook-button', `storybook-button--${size}`, mode].join(\n ' '\n )}\n {...props}\n >\n {label}\n </button>\n );\n};\n","export const cn = (...classNames: (string | undefined)[]) => {\n return classNames.filter(Boolean).join(' ');\n};\n","import React from 'react';\nimport './styles.css';\nimport './typographyStyles.css';\nimport { cn } from '../utils/cn';\n\ninterface TextProps {\n as?: 'p' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n typographyStyle?: string;\n classes?: string;\n styles?: { [key: string]: string };\n children?: React.ReactNode;\n}\n\nexport const Text: React.FC<TextProps> = ({\n as,\n typographyStyle,\n styles,\n classes,\n children\n}) => {\n const TextComponent = as || 'p';\n const transformedTypographyStyle =\n typographyStyle?.replaceAll('.', '-').toLowerCase() ?? '';\n\n return (\n <TextComponent\n className={cn(\n classes,\n typographyStyle\n ? `--tds-typography-tokens-${transformedTypographyStyle}`\n : undefined\n )}\n style={styles ? styles : undefined}\n >\n {children}\n </TextComponent>\n );\n};\n","import React from 'react';\nimport { Text } from '../Text/Text';\nimport './styles.css';\n\ninterface AdContainerProps {\n type?: 'header' | 'inline';\n slotID?: string;\n}\n\n/** Primary AdContainer UI component for user interaction */\n\nexport const AdContainer: React.FC<AdContainerProps> = ({\n type = 'inline',\n slotID\n}) => {\n return (\n <div\n className={`ad-${type}-container`}\n data-testid={`ad-${type}-container`}\n >\n {type === 'inline' && (\n <Text as=\"span\" classes=\"ad-label\">\n Advertisement\n </Text>\n )}\n <div className={`ad-${type}-wrapper`}>\n <div id={type === 'header' ? 'ad-header' : slotID}></div>\n </div>\n </div>\n );\n};\n","import React, { HTMLAttributes } from 'react';\nimport './styles.css';\nimport { Text } from '../Text/Text';\n\nexport interface CommentsDisabledProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {\n heading?: string;\n contentText?: React.ReactNode;\n guidelinesUrl?: string;\n guidelinesLinkText?: string;\n className?: string;\n}\n\nexport const CommentsDisabled = React.forwardRef<\n HTMLDivElement,\n CommentsDisabledProps\n>(\n (\n {\n heading = 'Comments are not enabled for this article',\n contentText = 'Comments are subject to our community guidelines, which can be viewed',\n guidelinesUrl = '#',\n guidelinesLinkText = 'here',\n className = '',\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n className={`tds-comments-disabled ${className}`.trim()}\n {...props}\n >\n <Text\n as=\"h3\"\n typographyStyle=\"brand-heading-fluid-light-xsmall\"\n classes=\"tds-comments-disabled__heading\"\n >\n {heading}\n </Text>\n <hr className=\"tds-comments-disabled__divider\" />\n <Text\n typographyStyle=\"utility-body-regular-medium\"\n classes=\"tds-comments-disabled__content\"\n >\n {contentText}{' '}\n <a\n href={guidelinesUrl}\n className=\"tds-comments-disabled__link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {guidelinesLinkText}\n </a>\n .\n </Text>\n </div>\n );\n }\n);\n\nCommentsDisabled.displayName = 'CommentsDisabled';\n","import React from 'react';\nimport './styles.css';\n\ninterface InputProps {\n /** Label text for the input */\n label?: string;\n /** Input placeholder text */\n placeholder?: string;\n /** Input type */\n type?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';\n /** Input value */\n value?: string;\n /** Change handler */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** Disabled state */\n disabled?: boolean;\n /** Required state */\n required?: boolean;\n /** Input name attribute */\n name?: string;\n /** Input id attribute */\n id?: string;\n}\n\n/** Input component with label using design tokens */\nexport const Input: React.FC<InputProps> = ({\n label,\n placeholder,\n type = 'text',\n value,\n onChange,\n disabled = false,\n required = false,\n name,\n id,\n ...props\n}) => {\n const inputId = id || name;\n\n return (\n <div className=\"tds-input-wrapper\">\n {label && (\n <label htmlFor={inputId} className=\"tds-input-label\">\n {label}\n {required && <span className=\"tds-input-required\">*</span>}\n </label>\n )}\n <input\n id={inputId}\n type={type}\n name={name}\n className=\"tds-input\"\n placeholder={placeholder}\n value={value}\n onChange={onChange}\n disabled={disabled}\n required={required}\n {...props}\n />\n </div>\n );\n};\n","import React from 'react';\nimport './styles.css';\n\ninterface DividerProps {\n /** Whether the divider should span full width of its container */\n fullWidth?: boolean;\n /** Orientation of the divider */\n orientation?: 'horizontal' | 'vertical';\n /** Custom spacing/margin */\n spacing?: 'small' | 'medium' | 'large';\n /** CSS class for additional styling */\n className?: string;\n}\n\n/** Divider component that uses design tokens for styling */\nexport const Divider: React.FC<DividerProps> = ({\n fullWidth = true,\n orientation = 'horizontal',\n spacing = 'medium',\n className = '',\n ...props\n}) => {\n const baseClass = 'tds-divider';\n const orientationClass = `tds-divider--${orientation}`;\n const spacingClass = `tds-divider--spacing-${spacing}`;\n const widthClass = fullWidth\n ? 'tds-divider--full-width'\n : 'tds-divider--constrained';\n\n const classes = [\n baseClass,\n orientationClass,\n spacingClass,\n widthClass,\n className\n ]\n .filter(Boolean)\n .join(' ');\n\n return <div className={classes} data-node-id=\"4042:14179\" {...props} />;\n};\n","import React from 'react';\nimport './styles.css';\nimport { cn } from '../utils/cn';\n\ninterface LinkProps {\n href: string;\n variant?: 'primary' | 'secondary' | 'danger';\n onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;\n target?: '_self' | '_blank' | '_parent' | '_top';\n rel?: string;\n className?: string;\n classes?: string;\n styles?: { [key: string]: string };\n children?: React.ReactNode;\n}\n\n/** Link UI component for navigation and interactive linking */\nexport const Link: React.FC<LinkProps> = ({\n href,\n variant = 'primary',\n onClick,\n target,\n rel,\n className,\n classes,\n styles,\n children\n}) => {\n // If target is _blank, set rel to noopener noreferrer for security\n const linkRel =\n target === '_blank'\n ? rel\n ? `${rel} noopener noreferrer`\n : 'noopener noreferrer'\n : rel;\n\n return (\n <a\n href={href}\n onClick={onClick}\n target={target}\n rel={linkRel}\n className={cn('tds-link', `tds-link--${variant}`, className || classes)}\n style={styles ? styles : undefined}\n >\n {children}\n </a>\n );\n};\n","import React from 'react';\nimport { Text } from '../../Text/Text';\nimport './styles.css';\n\ninterface UpNextArticlesProps {\n upNextArticles: {\n url: string;\n headline: string;\n duration?: string;\n thumbnail: string;\n }[];\n}\n\n/** Primary UpNextArticles UI component for user interaction */\n\nexport const UpNextArticles: React.FC<UpNextArticlesProps> = ({\n upNextArticles\n}) => {\n if (!upNextArticles || upNextArticles.length === 0) {\n return;\n }\n\n return (\n <div className=\"video-article-up-next\">\n <div className=\"vertical-divider\"></div>\n <div className=\"up-next-articles-container show-right-overlay\">\n <Text as=\"h4\" classes=\"video-heading video-category\">\n Up Next\n </Text>\n <div className=\"up-next-articles-overlay up-next-articles-overlay-left\"></div>\n <div className=\"up-next-articles-scroll\">\n <div className=\"up-next-articles\">\n {upNextArticles.map((up_next_article, index) => (\n <div className=\"up-next-article\" key={index}>\n <a href={up_next_article.url}>\n <div className=\"up-next-article-image-container\">\n <Text classes=\"up-next-article-duration video-heading\">\n {up_next_article.duration}\n </Text>\n <div className=\"up-next-article-image-overlay\"></div>\n <div className=\"up-next-article-image\">\n {up_next_article.thumbnail !== '' && (\n <picture>\n <source\n srcSet={up_next_article.thumbnail}\n type=\"image/webp\"\n />\n <img\n loading=\"lazy\"\n src={up_next_article.thumbnail}\n alt={up_next_article.headline}\n />\n </picture>\n )}\n </div>\n </div>\n <Text as=\"span\" classes=\"article-heading\">\n {up_next_article.headline}\n </Text>\n </a>\n </div>\n ))}\n </div>\n </div>\n <div className=\"up-next-articles-overlay up-next-articles-overlay-right\"></div>\n </div>\n </div>\n );\n};\n","// function possibly for future use with typography tokens.\n// takes a token and tokens object, returns media query string referencing typography token values.\ntype UseTypographyToken = (\n typographyToken: string,\n tokens: {\n breakpoints: { [key: string]: number };\n [key: string]: any; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n) => string;\n\nexport const useTypographyToken: UseTypographyToken = (\n typographyToken,\n tokens\n) => `\n .${typographyToken} {\n font: ${typographyToken}\n\n @media (min-width: ${tokens.breakpoints.sm}px) {\n fontSize: ${tokens['Viewport/ Small'].typography[typographyToken].fontSize};\n }\n\n @media (min-width: ${tokens.breakpoints.md}px) {\n fontSize: ${tokens['Viewport/ Medium'].typography[typographyToken].fontSize};\n }\n\n @media (min-width: ${tokens.breakpoints.lg}px) {\n fontSize: ${tokens['Viewport/ Large'].typography[typographyToken].fontSize};\n }\n\n @media (min-width: ${tokens.breakpoints.xl}px) {\n fontSize: ${tokens['Viewport/ XLarge'].typography[typographyToken].fontSize};\n }\n }\n`;\n"],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Button","primary","size","label","props","mode","React","className","join","cn","classNames","filter","Boolean","Text","as","typographyStyle","styles","classes","children","TextComponent","transformedTypographyStyle","replaceAll","toLowerCase","undefined","AdContainer","slotID","id","CommentsDisabled","forwardRef","heading","contentText","guidelinesUrl","guidelinesLinkText","trim","href","target","rel","displayName","Input","placeholder","value","onChange","disabled","required","name","inputId","htmlFor","Divider","fullWidth","orientation","spacing","baseClass","orientationClass","spacingClass","widthClass","Link","variant","onClick","linkRel","UpNextArticles","upNextArticles","length","map","up_next_article","index","key","url","duration","thumbnail","srcSet","loading","src","alt","headline","useTypographyToken","typographyToken","tokens","breakpoints","sm","typography","fontSize","md","lg","xl"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/utils/classBuilder.js","../src/blocks/button/edit.js","../src/blocks/button/save.js","../src/blocks/button/index.js","../src/blocks/divider/edit.js","../src/blocks/divider/save.js","../src/blocks/divider/index.js","../src/blocks/text/edit.js","../src/blocks/text/save.js","../src/blocks/text/index.js","../src/blocks/input/edit.js","../src/blocks/input/save.js","../src/blocks/input/index.js","../src/blocks/icon-button/edit.js","../src/blocks/icon-button/save.js","../src/blocks/icon-button/index.js","../src/blocks/chip/edit.js","../src/blocks/chip/save.js","../src/blocks/chip/index.js","../src/blocks/flag/edit.js","../src/blocks/flag/save.js","../src/blocks/flag/index.js","../src/blocks/toast/edit.js","../src/blocks/toast/save.js","../src/blocks/toast/index.js","../src/blocks/link/edit.js","../src/blocks/link/save.js","../src/blocks/link/index.js","../src/blocks/ad-container/edit.js","../src/blocks/ad-container/save.js","../src/blocks/ad-container/index.js"],"sourcesContent":["/**\n * Build className string for Button component based on attributes.\n * Maps component properties to TDS (Times Design System) SCSS classes.\n *\n * @param {Object} options - Button configuration options\n * @param {string} options.intent - Visual style variant (primary, secondary, negative)\n * @param {string} options.size - Button size (small, medium, large)\n * @param {string} options.behaviour - Width behaviour (hug, full)\n * @param {string} options.state - Interaction state (base, hover, pressed, loading, disabled, focus)\n * @param {boolean} options.disabled - Whether button is disabled\n * @returns {string} Complete className string\n */\nexport function buildButtonClass({\n intent = 'primary',\n size = 'large',\n behaviour = 'hug',\n state = 'base',\n disabled = false\n}) {\n const classes = [\n 'tds-button',\n `tds-button--intent-${intent}`,\n `tds-button--size-${size}`,\n `tds-button--behaviour-${behaviour}`,\n `tds-button--state-${state}`\n ];\n\n if (disabled) {\n classes.push('tds-button--disabled');\n }\n\n return classes.join(' ');\n}\n\n/**\n * Generic class builder utility for consistent naming conventions.\n * Creates BEM-style className strings.\n *\n * @param {string} blockName - Base block name (e.g., 'tds-button')\n * @param {Object} modifiers - Object with modifier names as keys\n * @returns {string} Complete className string\n */\nexport function buildClassName(blockName, modifiers = {}) {\n const classes = [blockName];\n\n Object.entries(modifiers).forEach(([key, value]) => {\n if (value && value !== '') {\n classes.push(`${blockName}--${key}-${value}`);\n }\n });\n\n return classes.join(' ');\n}\n","import { useBlockProps, InspectorControls } from '@wordpress/block-editor';\nimport {\n PanelBody,\n SelectControl,\n TextControl,\n ToggleControl\n} from '@wordpress/components';\nimport { RichText } from '@wordpress/block-editor';\nimport { buildButtonClass } from '../../utils/classBuilder.js';\nimport './style-editor.css';\n\nexport default function Edit({ attributes, setAttributes }) {\n const {\n label,\n intent,\n size,\n behaviour,\n state,\n disabled,\n href,\n target,\n rel,\n type,\n iconLeft,\n iconRight,\n ariaLabel\n } = attributes;\n\n const blockProps = useBlockProps({\n className: 'tds-button-wrapper'\n });\n\n const buttonClass = buildButtonClass({\n intent,\n size,\n behaviour,\n state,\n disabled\n });\n\n const Element = href ? 'a' : 'button';\n\n return (\n <>\n <div {...blockProps}>\n <Element\n className={buttonClass}\n disabled={!href && disabled}\n href={href}\n target={target}\n rel={rel}\n type={!href ? type : undefined}\n aria-label={ariaLabel}\n >\n <span className=\"tds-button__label-container\">\n <span className=\"tds-button__label\">{label}</span>\n </span>\n </Element>\n </div>\n\n <InspectorControls>\n <PanelBody title=\"Button Settings\">\n <TextControl\n label=\"Label\"\n value={label}\n onChange={(value) => setAttributes({ label: value })}\n help=\"The text displayed inside the button\"\n />\n\n <SelectControl\n label=\"Intent (Style)\"\n value={intent}\n options={[\n { label: 'Primary', value: 'primary' },\n { label: 'Secondary', value: 'secondary' },\n { label: 'Negative', value: 'negative' }\n ]}\n onChange={(value) => setAttributes({ intent: value })}\n />\n\n <SelectControl\n label=\"Size\"\n value={size}\n options={[\n { label: 'Small', value: 'small' },\n { label: 'Medium', value: 'medium' },\n { label: 'Large', value: 'large' }\n ]}\n onChange={(value) => setAttributes({ size: value })}\n />\n\n <SelectControl\n label=\"Behaviour\"\n value={behaviour}\n options={[\n { label: 'Hug Content', value: 'hug' },\n { label: 'Full Width', value: 'full' }\n ]}\n onChange={(value) => setAttributes({ behaviour: value })}\n />\n\n <SelectControl\n label=\"State\"\n value={state}\n options={[\n { label: 'Base', value: 'base' },\n { label: 'Hover', value: 'hover' },\n { label: 'Pressed', value: 'pressed' },\n { label: 'Loading', value: 'loading' },\n { label: 'Disabled', value: 'disabled' },\n { label: 'Focus', value: 'focus' }\n ]}\n onChange={(value) => setAttributes({ state: value })}\n />\n\n <ToggleControl\n label=\"Disabled\"\n checked={disabled}\n onChange={(value) => setAttributes({ disabled: value })}\n />\n </PanelBody>\n\n <PanelBody title=\"Link Settings\" initialOpen={false}>\n <TextControl\n label=\"URL\"\n value={href}\n onChange={(value) => setAttributes({ href: value })}\n placeholder=\"https://example.com\"\n />\n\n <SelectControl\n label=\"Link Target\"\n value={target}\n options={[\n { label: 'Same Window', value: '_self' },\n { label: 'New Window', value: '_blank' },\n { label: 'Parent Window', value: '_parent' },\n { label: 'Top Window', value: '_top' }\n ]}\n onChange={(value) => setAttributes({ target: value })}\n />\n\n <TextControl\n label=\"Link Rel\"\n value={rel}\n onChange={(value) => setAttributes({ rel: value })}\n placeholder=\"noopener noreferrer\"\n />\n </PanelBody>\n\n <PanelBody title=\"Advanced\" initialOpen={false}>\n <SelectControl\n label=\"Button Type\"\n value={type}\n options={[\n { label: 'Button', value: 'button' },\n { label: 'Submit', value: 'submit' },\n { label: 'Reset', value: 'reset' }\n ]}\n onChange={(value) => setAttributes({ type: value })}\n />\n\n <TextControl\n label=\"Aria Label\"\n value={ariaLabel}\n onChange={(value) => setAttributes({ ariaLabel: value })}\n help=\"Accessible name for icon-only buttons\"\n />\n\n <TextControl\n label=\"Icon Left\"\n value={iconLeft}\n onChange={(value) => setAttributes({ iconLeft: value })}\n placeholder=\"Icon name\"\n />\n\n <TextControl\n label=\"Icon Right\"\n value={iconRight}\n onChange={(value) => setAttributes({ iconRight: value })}\n placeholder=\"Icon name\"\n />\n </PanelBody>\n </InspectorControls>\n </>\n );\n}\n","import { useBlockProps } from '@wordpress/block-editor';\nimport { buildButtonClass } from '../../utils/classBuilder.js';\n\nexport default function Save({ attributes }) {\n const {\n label,\n intent,\n size,\n behaviour,\n state,\n disabled,\n href,\n target,\n rel,\n type,\n iconLeft,\n iconRight,\n ariaLabel\n } = attributes;\n\n const blockProps = useBlockProps.save({\n className: 'tds-button-wrapper'\n });\n\n const buttonClass = buildButtonClass({\n intent,\n size,\n behaviour,\n state,\n disabled\n });\n\n const Element = href ? 'a' : 'button';\n\n return (\n <div {...blockProps}>\n <Element\n className={buttonClass}\n disabled={!href && disabled}\n href={href}\n target={target}\n rel={rel}\n type={!href ? type : undefined}\n aria-label={ariaLabel}\n >\n <span className=\"tds-button__label-container\">\n <span className=\"tds-button__label\">{label}</span>\n </span>\n </Element>\n </div>\n );\n}\n","import { registerBlockType } from '@wordpress/blocks';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport Edit from './edit.js';\nimport Save from './save.js';\nimport metadata from './block.json';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit: Edit,\n save: Save\n});\n","import { useBlockProps, InspectorControls } from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const { isDashed, isVertical, padding } = attributes;\n const blockProps = useBlockProps();\n\n const buildDividerClass = () => {\n const classes = ['tds-divider'];\n if (isDashed) classes.push('tds-divider--dashed');\n if (isVertical) classes.push('tds-divider--vertical');\n if (padding) classes.push('tds-divider--padding');\n return classes.join(' ');\n };\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Divider Settings\">\n <ToggleControl\n label=\"Dashed\"\n checked={isDashed}\n onChange={(val) => setAttributes({ isDashed: val })}\n />\n <ToggleControl\n label=\"Vertical\"\n checked={isVertical}\n onChange={(val) => setAttributes({ isVertical: val })}\n />\n <ToggleControl\n label=\"Padding\"\n checked={padding}\n onChange={(val) => setAttributes({ padding: val })}\n />\n </PanelBody>\n </InspectorControls>\n <div {...blockProps} className={buildDividerClass()} />\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const { isDashed, isVertical, padding } = attributes;\n const blockProps = useBlockProps.save();\n\n const buildDividerClass = () => {\n const classes = ['tds-divider'];\n if (isDashed) classes.push('tds-divider--dashed');\n if (isVertical) classes.push('tds-divider--vertical');\n if (padding) classes.push('tds-divider--padding');\n return classes.join(' ');\n };\n\n return <div {...blockProps} className={buildDividerClass()} />;\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import {\n useBlockProps,\n RichText,\n InspectorControls\n} from '@wordpress/block-editor';\nimport { PanelBody, SelectControl } from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const { as, typographyStyle, content } = attributes;\n const blockProps = useBlockProps();\n\n const tagName = as || 'p';\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Text Settings\">\n <SelectControl\n label=\"Tag\"\n value={as}\n options={[\n { label: 'Paragraph', value: 'p' },\n { label: 'Span', value: 'span' },\n { label: 'Heading 1', value: 'h1' },\n { label: 'Heading 2', value: 'h2' },\n { label: 'Heading 3', value: 'h3' },\n { label: 'Heading 4', value: 'h4' },\n { label: 'Heading 5', value: 'h5' }\n ]}\n onChange={(val) => setAttributes({ as: val })}\n />\n <SelectControl\n label=\"Typography Style\"\n value={typographyStyle}\n options={[\n { label: 'Body Standard', value: 'body-standard' },\n { label: 'Body Small', value: 'body-small' },\n { label: 'Headline', value: 'headline' }\n ]}\n onChange={(val) => setAttributes({ typographyStyle: val })}\n />\n </PanelBody>\n </InspectorControls>\n <RichText\n {...blockProps}\n tagName={tagName}\n value={content}\n onChange={(val) => setAttributes({ content: val })}\n className={`tds-text tds-text--${typographyStyle}`}\n placeholder=\"Enter text...\"\n />\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps, RichText } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const { as, typographyStyle, content } = attributes;\n const blockProps = useBlockProps.save();\n const tagName = as || 'p';\n\n return (\n <RichText.Content\n {...blockProps}\n tagName={tagName}\n value={content}\n className={`tds-text tds-text--${typographyStyle}`}\n />\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import { useBlockProps, InspectorControls } from '@wordpress/block-editor';\nimport {\n PanelBody,\n TextControl,\n SelectControl,\n ToggleControl\n} from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const { label, placeholder, type, disabled, required, name, id } = attributes;\n const blockProps = useBlockProps();\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Input Settings\">\n <TextControl\n label=\"Label\"\n value={label}\n onChange={(val) => setAttributes({ label: val })}\n />\n <TextControl\n label=\"Placeholder\"\n value={placeholder}\n onChange={(val) => setAttributes({ placeholder: val })}\n />\n <SelectControl\n label=\"Type\"\n value={type}\n options={[\n { label: 'Text', value: 'text' },\n { label: 'Email', value: 'email' },\n { label: 'Password', value: 'password' },\n { label: 'Number', value: 'number' },\n { label: 'Tel', value: 'tel' },\n { label: 'URL', value: 'url' }\n ]}\n onChange={(val) => setAttributes({ type: val })}\n />\n <TextControl\n label=\"Name\"\n value={name}\n onChange={(val) => setAttributes({ name: val })}\n />\n <TextControl\n label=\"ID\"\n value={id}\n onChange={(val) => setAttributes({ id: val })}\n />\n <ToggleControl\n label=\"Required\"\n checked={required}\n onChange={(val) => setAttributes({ required: val })}\n />\n <ToggleControl\n label=\"Disabled\"\n checked={disabled}\n onChange={(val) => setAttributes({ disabled: val })}\n />\n </PanelBody>\n </InspectorControls>\n <div {...blockProps}>\n {label && <label className=\"tds-input__label\">{label}</label>}\n <input\n type={type}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n name={name}\n id={id}\n className=\"tds-input\"\n />\n </div>\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const { label, placeholder, type, disabled, required, name, id } = attributes;\n const blockProps = useBlockProps.save();\n\n return (\n <div {...blockProps}>\n {label && (\n <label htmlFor={id} className=\"tds-input__label\">\n {label}\n </label>\n )}\n <input\n type={type}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n name={name}\n id={id}\n className=\"tds-input\"\n />\n </div>\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import { useBlockProps, InspectorControls } from '@wordpress/block-editor';\nimport {\n PanelBody,\n TextControl,\n SelectControl,\n ToggleControl\n} from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const { iconName, round, href, target, rel, ariaLabel } = attributes;\n const blockProps = useBlockProps();\n\n const buildClass = () => {\n const classes = ['tds-icon-button'];\n if (round) classes.push('tds-icon-button--round');\n return classes.join(' ');\n };\n\n const Element = href ? 'a' : 'button';\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Icon Button Settings\">\n <TextControl\n label=\"Icon Name\"\n value={iconName}\n onChange={(val) => setAttributes({ iconName: val })}\n placeholder=\"e.g., arrow-right\"\n />\n <ToggleControl\n label=\"Round\"\n checked={round}\n onChange={(val) => setAttributes({ round: val })}\n />\n <TextControl\n label=\"URL (Leave empty for button)\"\n value={href}\n onChange={(val) => setAttributes({ href: val })}\n />\n {href && (\n <>\n <SelectControl\n label=\"Target\"\n value={target}\n options={[\n { label: 'Same window', value: '_self' },\n { label: 'New window', value: '_blank' },\n { label: 'Parent', value: '_parent' },\n { label: 'Top', value: '_top' }\n ]}\n onChange={(val) => setAttributes({ target: val })}\n />\n <TextControl\n label=\"Rel\"\n value={rel}\n onChange={(val) => setAttributes({ rel: val })}\n />\n </>\n )}\n <TextControl\n label=\"Aria Label\"\n value={ariaLabel}\n onChange={(val) => setAttributes({ ariaLabel: val })}\n />\n </PanelBody>\n </InspectorControls>\n <Element\n {...blockProps}\n className={buildClass()}\n href={href || undefined}\n target={href ? target : undefined}\n rel={href && rel ? rel : undefined}\n aria-label={ariaLabel}\n >\n <span className=\"tds-icon-button__icon\">{iconName}</span>\n </Element>\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const { iconName, round, href, target, rel, ariaLabel } = attributes;\n const blockProps = useBlockProps.save();\n\n const buildClass = () => {\n const classes = ['tds-icon-button'];\n if (round) classes.push('tds-icon-button--round');\n return classes.join(' ');\n };\n\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n {...blockProps}\n className={buildClass()}\n href={href || undefined}\n target={href ? target : undefined}\n rel={href && rel ? rel : undefined}\n aria-label={ariaLabel}\n >\n <span className=\"tds-icon-button__icon\">{iconName}</span>\n </Element>\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import {\n useBlockProps,\n RichText,\n InspectorControls\n} from '@wordpress/block-editor';\nimport {\n PanelBody,\n SelectControl,\n TextControl,\n ToggleControl\n} from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const {\n content,\n intent,\n size,\n state,\n channel,\n toggle,\n iconLeft,\n iconRight,\n ariaLabel\n } = attributes;\n const blockProps = useBlockProps();\n\n const buildClass = () => {\n const classes = ['tds-chip'];\n classes.push(`tds-chip--intent-${intent}`);\n classes.push(`tds-chip--size-${size}`);\n classes.push(`tds-chip--state-${state}`);\n if (channel) classes.push('tds-chip--channel');\n if (toggle) classes.push('tds-chip--toggle');\n return classes.join(' ');\n };\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Chip Settings\">\n <SelectControl\n label=\"Intent\"\n value={intent}\n options={[\n { label: 'Primary', value: 'primary' },\n { label: 'Secondary', value: 'secondary' },\n { label: 'Negative', value: 'negative' }\n ]}\n onChange={(val) => setAttributes({ intent: val })}\n />\n <SelectControl\n label=\"Size\"\n value={size}\n options={[\n { label: 'Small', value: 'small' },\n { label: 'Medium', value: 'medium' },\n { label: 'Large', value: 'large' }\n ]}\n onChange={(val) => setAttributes({ size: val })}\n />\n <SelectControl\n label=\"State\"\n value={state}\n options={[\n { label: 'Base', value: 'base' },\n { label: 'Hover', value: 'hover' },\n { label: 'Pressed', value: 'pressed' },\n { label: 'Disabled', value: 'disabled' }\n ]}\n onChange={(val) => setAttributes({ state: val })}\n />\n <ToggleControl\n label=\"Channel\"\n checked={channel}\n onChange={(val) => setAttributes({ channel: val })}\n />\n <ToggleControl\n label=\"Toggle\"\n checked={toggle}\n onChange={(val) => setAttributes({ toggle: val })}\n />\n <TextControl\n label=\"Left Icon\"\n value={iconLeft}\n onChange={(val) => setAttributes({ iconLeft: val })}\n />\n <TextControl\n label=\"Right Icon\"\n value={iconRight}\n onChange={(val) => setAttributes({ iconRight: val })}\n />\n <TextControl\n label=\"Aria Label\"\n value={ariaLabel}\n onChange={(val) => setAttributes({ ariaLabel: val })}\n />\n </PanelBody>\n </InspectorControls>\n <button {...blockProps} className={buildClass()} aria-label={ariaLabel}>\n {iconLeft && <span className=\"tds-chip__icon-left\">{iconLeft}</span>}\n <RichText\n value={content}\n onChange={(val) => setAttributes({ content: val })}\n placeholder=\"Chip text\"\n className=\"tds-chip__content\"\n />\n {iconRight && <span className=\"tds-chip__icon-right\">{iconRight}</span>}\n </button>\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps, RichText } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const {\n content,\n intent,\n size,\n state,\n channel,\n toggle,\n iconLeft,\n iconRight,\n ariaLabel\n } = attributes;\n const blockProps = useBlockProps.save();\n\n const buildClass = () => {\n const classes = ['tds-chip'];\n classes.push(`tds-chip--intent-${intent}`);\n classes.push(`tds-chip--size-${size}`);\n classes.push(`tds-chip--state-${state}`);\n if (channel) classes.push('tds-chip--channel');\n if (toggle) classes.push('tds-chip--toggle');\n return classes.join(' ');\n };\n\n return (\n <button {...blockProps} className={buildClass()} aria-label={ariaLabel}>\n {iconLeft && <span className=\"tds-chip__icon-left\">{iconLeft}</span>}\n <RichText.Content value={content} className=\"tds-chip__content\" />\n {iconRight && <span className=\"tds-chip__icon-right\">{iconRight}</span>}\n </button>\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import {\n useBlockProps,\n RichText,\n InspectorControls\n} from '@wordpress/block-editor';\nimport { PanelBody, SelectControl, TextControl } from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const { label, content, intent, size, iconLeft, iconRight, ariaLabel } =\n attributes;\n const blockProps = useBlockProps();\n\n const buildClass = () => {\n const classes = ['tds-flag'];\n classes.push(`tds-flag--intent-${intent}`);\n classes.push(`tds-flag--size-${size}`);\n return classes.join(' ');\n };\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Flag Settings\">\n <TextControl\n label=\"Label\"\n value={label}\n onChange={(val) => setAttributes({ label: val })}\n />\n <SelectControl\n label=\"Intent\"\n value={intent}\n options={[\n { label: 'Primary', value: 'primary' },\n { label: 'Secondary', value: 'secondary' },\n { label: 'Negative', value: 'negative' },\n { label: 'Positive', value: 'positive' }\n ]}\n onChange={(val) => setAttributes({ intent: val })}\n />\n <SelectControl\n label=\"Size\"\n value={size}\n options={[\n { label: 'Small', value: 'small' },\n { label: 'Medium', value: 'medium' },\n { label: 'Large', value: 'large' }\n ]}\n onChange={(val) => setAttributes({ size: val })}\n />\n <TextControl\n label=\"Left Icon\"\n value={iconLeft}\n onChange={(val) => setAttributes({ iconLeft: val })}\n />\n <TextControl\n label=\"Right Icon\"\n value={iconRight}\n onChange={(val) => setAttributes({ iconRight: val })}\n />\n <TextControl\n label=\"Aria Label\"\n value={ariaLabel}\n onChange={(val) => setAttributes({ ariaLabel: val })}\n />\n </PanelBody>\n </InspectorControls>\n <div {...blockProps} className={buildClass()} aria-label={ariaLabel}>\n {label && <div className=\"tds-flag__label\">{label}</div>}\n {iconLeft && <span className=\"tds-flag__icon-left\">{iconLeft}</span>}\n <RichText\n value={content}\n onChange={(val) => setAttributes({ content: val })}\n placeholder=\"Flag content\"\n className=\"tds-flag__content\"\n />\n {iconRight && <span className=\"tds-flag__icon-right\">{iconRight}</span>}\n </div>\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps, RichText } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const { label, content, intent, size, iconLeft, iconRight, ariaLabel } =\n attributes;\n const blockProps = useBlockProps.save();\n\n const buildClass = () => {\n const classes = ['tds-flag'];\n classes.push(`tds-flag--intent-${intent}`);\n classes.push(`tds-flag--size-${size}`);\n return classes.join(' ');\n };\n\n return (\n <div {...blockProps} className={buildClass()} aria-label={ariaLabel}>\n {label && <div className=\"tds-flag__label\">{label}</div>}\n {iconLeft && <span className=\"tds-flag__icon-left\">{iconLeft}</span>}\n <RichText.Content value={content} className=\"tds-flag__content\" />\n {iconRight && <span className=\"tds-flag__icon-right\">{iconRight}</span>}\n </div>\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import {\n useBlockProps,\n RichText,\n InspectorControls\n} from '@wordpress/block-editor';\nimport {\n PanelBody,\n SelectControl,\n TextControl,\n ToggleControl,\n NumberControl\n} from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const { label, intent, link, linkLabel, timeout } = attributes;\n const blockProps = useBlockProps();\n\n const buildClass = () => {\n const classes = ['tds-toast'];\n classes.push(`tds-toast--intent-${intent}`);\n return classes.join(' ');\n };\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Toast Settings\">\n <TextControl\n label=\"Label\"\n value={label}\n onChange={(val) => setAttributes({ label: val })}\n />\n <SelectControl\n label=\"Intent\"\n value={intent}\n options={[\n { label: 'Info', value: 'info' },\n { label: 'Success', value: 'success' },\n { label: 'Warning', value: 'warning' },\n { label: 'Error', value: 'error' }\n ]}\n onChange={(val) => setAttributes({ intent: val })}\n />\n <ToggleControl\n label=\"Show Link\"\n checked={link}\n onChange={(val) => setAttributes({ link: val })}\n />\n {link && (\n <TextControl\n label=\"Link Label\"\n value={linkLabel}\n onChange={(val) => setAttributes({ linkLabel: val })}\n />\n )}\n <NumberControl\n label=\"Timeout (ms)\"\n value={timeout}\n onChange={(val) => setAttributes({ timeout: val || 0 })}\n min={0}\n step={1000}\n />\n </PanelBody>\n </InspectorControls>\n <div\n {...blockProps}\n className={buildClass()}\n role=\"status\"\n aria-live=\"polite\"\n >\n <div className=\"tds-toast__content\">\n <RichText\n value={label}\n onChange={(val) => setAttributes({ label: val })}\n placeholder=\"Toast message\"\n className=\"tds-toast__label\"\n />\n </div>\n {link && <button className=\"tds-toast__link\">{linkLabel}</button>}\n </div>\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps, RichText } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const { label, intent, link, linkLabel, timeout } = attributes;\n const blockProps = useBlockProps.save();\n\n const buildClass = () => {\n const classes = ['tds-toast'];\n classes.push(`tds-toast--intent-${intent}`);\n return classes.join(' ');\n };\n\n return (\n <div\n {...blockProps}\n className={buildClass()}\n role=\"status\"\n aria-live=\"polite\"\n data-timeout={timeout}\n >\n <div className=\"tds-toast__content\">\n <RichText.Content value={label} className=\"tds-toast__label\" />\n </div>\n {link && <button className=\"tds-toast__link\">{linkLabel}</button>}\n </div>\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import {\n useBlockProps,\n RichText,\n InspectorControls\n} from '@wordpress/block-editor';\nimport {\n PanelBody,\n TextControl,\n SelectControl,\n ToggleControl\n} from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const {\n href,\n content,\n intent,\n sentiment,\n size,\n state,\n iconLeft,\n iconRight,\n inline,\n ariaLabel,\n target,\n rel\n } = attributes;\n const blockProps = useBlockProps();\n\n const buildClass = () => {\n const classes = ['tds-link'];\n classes.push(`tds-link--intent-${intent}`);\n classes.push(`tds-link--sentiment-${sentiment}`);\n classes.push(`tds-link--size-${size}`);\n classes.push(`tds-link--state-${state}`);\n if (!inline) classes.push('tds-link--block');\n return classes.join(' ');\n };\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Link Settings\">\n <TextControl\n label=\"URL\"\n value={href}\n onChange={(val) => setAttributes({ href: val })}\n type=\"url\"\n />\n <SelectControl\n label=\"Intent\"\n value={intent}\n options={[\n { label: 'Primary', value: 'primary' },\n { label: 'Secondary', value: 'secondary' },\n { label: 'Negative', value: 'negative' }\n ]}\n onChange={(val) => setAttributes({ intent: val })}\n />\n <SelectControl\n label=\"Sentiment\"\n value={sentiment}\n options={[\n { label: 'Neutral', value: 'neutral' },\n { label: 'Positive', value: 'positive' },\n { label: 'Negative', value: 'negative' }\n ]}\n onChange={(val) => setAttributes({ sentiment: val })}\n />\n <SelectControl\n label=\"Size\"\n value={size}\n options={[\n { label: 'Small', value: 'small' },\n { label: 'Medium', value: 'medium' },\n { label: 'Large', value: 'large' }\n ]}\n onChange={(val) => setAttributes({ size: val })}\n />\n <SelectControl\n label=\"State\"\n value={state}\n options={[\n { label: 'Base', value: 'base' },\n { label: 'Hover', value: 'hover' },\n { label: 'Visited', value: 'visited' },\n { label: 'Focus', value: 'focus' },\n { label: 'Disabled', value: 'disabled' }\n ]}\n onChange={(val) => setAttributes({ state: val })}\n />\n <TextControl\n label=\"Left Icon\"\n value={iconLeft}\n onChange={(val) => setAttributes({ iconLeft: val })}\n />\n <TextControl\n label=\"Right Icon\"\n value={iconRight}\n onChange={(val) => setAttributes({ iconRight: val })}\n />\n <ToggleControl\n label=\"Inline\"\n checked={inline}\n onChange={(val) => setAttributes({ inline: val })}\n />\n <SelectControl\n label=\"Target\"\n value={target}\n options={[\n { label: 'Same window', value: '_self' },\n { label: 'New window', value: '_blank' },\n { label: 'Parent', value: '_parent' },\n { label: 'Top', value: '_top' }\n ]}\n onChange={(val) => setAttributes({ target: val })}\n />\n <TextControl\n label=\"Rel\"\n value={rel}\n onChange={(val) => setAttributes({ rel: val })}\n />\n <TextControl\n label=\"Aria Label\"\n value={ariaLabel}\n onChange={(val) => setAttributes({ ariaLabel: val })}\n />\n </PanelBody>\n </InspectorControls>\n <a\n {...blockProps}\n href={href || '#'}\n className={buildClass()}\n aria-label={ariaLabel}\n target={target}\n rel={rel}\n >\n {iconLeft && <span className=\"tds-link__icon-left\">{iconLeft}</span>}\n <RichText\n value={content}\n onChange={(val) => setAttributes({ content: val })}\n placeholder=\"Link text\"\n className=\"tds-link__content\"\n />\n {iconRight && <span className=\"tds-link__icon-right\">{iconRight}</span>}\n </a>\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps, RichText } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const {\n href,\n content,\n intent,\n sentiment,\n size,\n state,\n iconLeft,\n iconRight,\n inline,\n ariaLabel,\n target,\n rel\n } = attributes;\n const blockProps = useBlockProps.save();\n\n const buildClass = () => {\n const classes = ['tds-link'];\n classes.push(`tds-link--intent-${intent}`);\n classes.push(`tds-link--sentiment-${sentiment}`);\n classes.push(`tds-link--size-${size}`);\n classes.push(`tds-link--state-${state}`);\n if (!inline) classes.push('tds-link--block');\n return classes.join(' ');\n };\n\n return (\n <a\n {...blockProps}\n href={href}\n className={buildClass()}\n aria-label={ariaLabel}\n target={target !== '_self' ? target : undefined}\n rel={rel || undefined}\n >\n {iconLeft && <span className=\"tds-link__icon-left\">{iconLeft}</span>}\n <RichText.Content value={content} className=\"tds-link__content\" />\n {iconRight && <span className=\"tds-link__icon-right\">{iconRight}</span>}\n </a>\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n","import { useBlockProps, InspectorControls } from '@wordpress/block-editor';\nimport { PanelBody, SelectControl, TextControl } from '@wordpress/components';\n\nconst edit = ({ attributes, setAttributes }) => {\n const { type, slotID } = attributes;\n const blockProps = useBlockProps();\n\n return (\n <>\n <InspectorControls>\n <PanelBody title=\"Ad Container Settings\">\n <SelectControl\n label=\"Type\"\n value={type}\n options={[\n { label: 'Header', value: 'header' },\n { label: 'Inline', value: 'inline' }\n ]}\n onChange={(val) => setAttributes({ type: val })}\n />\n <TextControl\n label=\"Slot ID\"\n value={slotID}\n onChange={(val) => setAttributes({ slotID: val })}\n placeholder=\"e.g., /123456789/section/article-top\"\n />\n </PanelBody>\n </InspectorControls>\n <div\n {...blockProps}\n className={`tds-ad-container tds-ad-container--${type}`}\n data-slot-id={slotID}\n >\n <div className=\"tds-ad-container__placeholder\">\n <p>Ad Slot: {slotID || '(not configured)'}</p>\n </div>\n </div>\n </>\n );\n};\n\nexport default edit;\n","import { useBlockProps } from '@wordpress/block-editor';\n\nconst save = ({ attributes }) => {\n const { type, slotID } = attributes;\n const blockProps = useBlockProps.save();\n\n return (\n <div\n {...blockProps}\n className={`tds-ad-container tds-ad-container--${type}`}\n data-slot-id={slotID}\n />\n );\n};\n\nexport default save;\n","import { registerBlockType } from '@wordpress/blocks';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nregisterBlockType(metadata.name, {\n ...metadata,\n edit,\n save\n});\n"],"names":["buildButtonClass","_ref","_ref$intent","intent","_ref$size","size","_ref$behaviour","behaviour","_ref$state","state","_ref$disabled","disabled","classes","concat","push","join","Edit","attributes","setAttributes","label","href","target","rel","type","iconLeft","iconRight","ariaLabel","blockProps","useBlockProps","className","buttonClass","Element","React","createElement","Fragment","undefined","InspectorControls","PanelBody","title","TextControl","value","onChange","help","SelectControl","options","ToggleControl","checked","initialOpen","placeholder","Save","save","registerBlockType","metadata","name","_objectSpread","edit","isDashed","isVertical","padding","buildDividerClass","val","_extends","as","typographyStyle","content","tagName","RichText","Content","required","id","htmlFor","iconName","round","buildClass","channel","toggle","link","linkLabel","timeout","NumberControl","min","step","role","sentiment","inline","slotID"],"mappings":"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"}
|
package/dist/plugin.php
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Plugin Name: Times Design System Blocks
|
|
4
|
+
* Plugin URI: https://github.com/newsuk/times-design-system
|
|
5
|
+
* Description: A collection of Gutenberg blocks for Times Design System components
|
|
6
|
+
* Version: 1.1.0
|
|
7
|
+
* Author: Times Design System Team
|
|
8
|
+
* Author URI: https://github.com/newsuk/times-design-system
|
|
9
|
+
* License: ISC
|
|
10
|
+
* License URI: https://opensource.org/licenses/ISC
|
|
11
|
+
* Text Domain: times-design-system
|
|
12
|
+
* Domain Path: /languages
|
|
13
|
+
* Requires at least: 6.0
|
|
14
|
+
* Requires PHP: 7.4
|
|
15
|
+
*
|
|
16
|
+
* @package TimesDesignSystem\ComponentsWordPress
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
// Exit if accessed directly
|
|
20
|
+
if ( ! defined( 'ABSPATH' ) ) {
|
|
21
|
+
exit;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Register all blocks from the block.json manifest.
|
|
26
|
+
*
|
|
27
|
+
* @since 1.1.0
|
|
28
|
+
* @return void
|
|
29
|
+
*/
|
|
30
|
+
function tds_register_blocks() {
|
|
31
|
+
$blocks_dir = plugin_dir_path( __FILE__ ) . 'blocks/';
|
|
32
|
+
|
|
33
|
+
if ( ! is_dir( $blocks_dir ) ) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Register each block found in the blocks directory
|
|
38
|
+
$block_dirs = glob( $blocks_dir . '*', GLOB_ONLYDIR );
|
|
39
|
+
|
|
40
|
+
foreach ( $block_dirs as $block_dir ) {
|
|
41
|
+
$block_json = $block_dir . '/block.json';
|
|
42
|
+
|
|
43
|
+
if ( file_exists( $block_json ) ) {
|
|
44
|
+
register_block_type( $block_json );
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
add_action( 'init', 'tds_register_blocks' );
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Enqueue plugin styles and scripts.
|
|
53
|
+
*
|
|
54
|
+
* @since 1.1.0
|
|
55
|
+
* @return void
|
|
56
|
+
*/
|
|
57
|
+
function tds_enqueue_assets() {
|
|
58
|
+
// Enqueue theme-scss styles if available
|
|
59
|
+
$stylesheet_handle = 'times-design-system-theme';
|
|
60
|
+
|
|
61
|
+
if ( wp_style_is( $stylesheet_handle, 'registered' ) || wp_style_is( $stylesheet_handle, 'enqueued' ) ) {
|
|
62
|
+
wp_enqueue_style( $stylesheet_handle );
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
add_action( 'wp_enqueue_scripts', 'tds_enqueue_assets' );
|
|
67
|
+
add_action( 'admin_enqueue_scripts', 'tds_enqueue_assets' );
|
|
68
|
+
|
|
69
|
+
// Activation hook
|
|
70
|
+
register_activation_hook( __FILE__, function() {
|
|
71
|
+
// Flush rewrite rules on activation if needed
|
|
72
|
+
flush_rewrite_rules();
|
|
73
|
+
} );
|
|
74
|
+
|
|
75
|
+
// Deactivation hook
|
|
76
|
+
register_deactivation_hook( __FILE__, function() {
|
|
77
|
+
// Clean up on deactivation if needed
|
|
78
|
+
flush_rewrite_rules();
|
|
79
|
+
} );
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build className string for Button component based on attributes.
|
|
3
|
+
* Maps component properties to TDS (Times Design System) SCSS classes.
|
|
4
|
+
*
|
|
5
|
+
* @param {Object} options - Button configuration options
|
|
6
|
+
* @param {string} options.intent - Visual style variant (primary, secondary, negative)
|
|
7
|
+
* @param {string} options.size - Button size (small, medium, large)
|
|
8
|
+
* @param {string} options.behaviour - Width behaviour (hug, full)
|
|
9
|
+
* @param {string} options.state - Interaction state (base, hover, pressed, loading, disabled, focus)
|
|
10
|
+
* @param {boolean} options.disabled - Whether button is disabled
|
|
11
|
+
* @returns {string} Complete className string
|
|
12
|
+
*/
|
|
13
|
+
export function buildButtonClass({
|
|
14
|
+
intent = 'primary',
|
|
15
|
+
size = 'large',
|
|
16
|
+
behaviour = 'hug',
|
|
17
|
+
state = 'base',
|
|
18
|
+
disabled = false
|
|
19
|
+
}) {
|
|
20
|
+
const classes = [
|
|
21
|
+
'tds-button',
|
|
22
|
+
`tds-button--intent-${intent}`,
|
|
23
|
+
`tds-button--size-${size}`,
|
|
24
|
+
`tds-button--behaviour-${behaviour}`,
|
|
25
|
+
`tds-button--state-${state}`
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
if (disabled) {
|
|
29
|
+
classes.push('tds-button--disabled');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return classes.join(' ');
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Generic class builder utility for consistent naming conventions.
|
|
37
|
+
* Creates BEM-style className strings.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} blockName - Base block name (e.g., 'tds-button')
|
|
40
|
+
* @param {Object} modifiers - Object with modifier names as keys
|
|
41
|
+
* @returns {string} Complete className string
|
|
42
|
+
*/
|
|
43
|
+
export function buildClassName(blockName, modifiers = {}) {
|
|
44
|
+
const classes = [blockName];
|
|
45
|
+
|
|
46
|
+
Object.entries(modifiers).forEach(([key, value]) => {
|
|
47
|
+
if (value && value !== '') {
|
|
48
|
+
classes.push(`${blockName}--${key}-${value}`);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return classes.join(' ');
|
|
53
|
+
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-design-system/components-wordpress",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.2-alpha.2+201ed7aa",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Times Design System
|
|
6
|
-
"keywords": [
|
|
5
|
+
"description": "Times Design System Gutenberg blocks for WordPress Full Site Editing",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"wordpress",
|
|
8
|
+
"gutenberg",
|
|
9
|
+
"blocks",
|
|
10
|
+
"design-system",
|
|
11
|
+
"times"
|
|
12
|
+
],
|
|
7
13
|
"author": "douglasmik <michael@viaverso.co.uk>",
|
|
8
14
|
"license": "ISC",
|
|
9
|
-
"main": "dist/index",
|
|
10
|
-
"dev": "src/index",
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"dev": "src/index.js",
|
|
11
17
|
"directories": {
|
|
12
18
|
"lib": "lib",
|
|
13
19
|
"test": "__tests__"
|
|
@@ -16,9 +22,19 @@
|
|
|
16
22
|
"type": "git",
|
|
17
23
|
"url": "git+https://github.com/newsuk/times-design-system.git"
|
|
18
24
|
},
|
|
25
|
+
"wordpress": {
|
|
26
|
+
"plugin": "times-design-system-blocks",
|
|
27
|
+
"pluginSlug": "times-design-system-blocks",
|
|
28
|
+
"pluginFile": "plugin.php",
|
|
29
|
+
"textDomain": "times-design-system",
|
|
30
|
+
"domainPath": "/languages",
|
|
31
|
+
"requiresWordPress": "6.0",
|
|
32
|
+
"requiresPhp": "7.4"
|
|
33
|
+
},
|
|
19
34
|
"scripts": {
|
|
20
|
-
"build": "npm run clean && npm run build:rollup",
|
|
35
|
+
"build": "npm run clean && npm run build:rollup && npm run build:plugin",
|
|
21
36
|
"build:rollup": "rollup -c",
|
|
37
|
+
"build:plugin": "node scripts/build-plugin.cjs",
|
|
22
38
|
"clean": "rimraf dist",
|
|
23
39
|
"dev": "rollup -c --watch",
|
|
24
40
|
"prepublishOnly": "npm run build",
|
|
@@ -31,13 +47,29 @@
|
|
|
31
47
|
"publishConfig": {
|
|
32
48
|
"access": "public"
|
|
33
49
|
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@times-design-system/theme-scss": "^2.0.1-alpha.2+201ed7aa",
|
|
52
|
+
"@wordpress/block-editor": "^12.0.0",
|
|
53
|
+
"@wordpress/blocks": "^12.0.0",
|
|
54
|
+
"@wordpress/components": "^25.0.0",
|
|
55
|
+
"@wordpress/element": "^5.0.0"
|
|
56
|
+
},
|
|
34
57
|
"devDependencies": {
|
|
35
58
|
"@babel/core": "^7.23.0",
|
|
36
59
|
"@babel/preset-env": "^7.23.0",
|
|
37
60
|
"@babel/preset-react": "^7.22.0",
|
|
61
|
+
"@rollup/plugin-babel": "^6.0.0",
|
|
62
|
+
"@rollup/plugin-commonjs": "^25.0.0",
|
|
63
|
+
"@rollup/plugin-json": "^6.0.0",
|
|
64
|
+
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
65
|
+
"@rollup/plugin-typescript": "^11.0.0",
|
|
38
66
|
"@types/react": "19.2.5",
|
|
39
67
|
"postcss": "^8.4.31",
|
|
68
|
+
"rimraf": "^5.0.0",
|
|
69
|
+
"rollup": "^3.0.0",
|
|
70
|
+
"rollup-plugin-copy": "^3.4.0",
|
|
71
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
40
72
|
"typescript": "^5.0.0"
|
|
41
73
|
},
|
|
42
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "201ed7aaa54d2ce981dd2c1559b10e60e0370df8"
|
|
43
75
|
}
|
package/plugin.php
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Plugin Name: Times Design System Blocks
|
|
4
|
+
* Plugin URI: https://github.com/newsuk/times-design-system
|
|
5
|
+
* Description: A collection of Gutenberg blocks for Times Design System components
|
|
6
|
+
* Version: 1.1.0
|
|
7
|
+
* Author: Times Design System Team
|
|
8
|
+
* Author URI: https://github.com/newsuk/times-design-system
|
|
9
|
+
* License: ISC
|
|
10
|
+
* License URI: https://opensource.org/licenses/ISC
|
|
11
|
+
* Text Domain: times-design-system
|
|
12
|
+
* Domain Path: /languages
|
|
13
|
+
* Requires at least: 6.0
|
|
14
|
+
* Requires PHP: 7.4
|
|
15
|
+
*
|
|
16
|
+
* @package TimesDesignSystem\ComponentsWordPress
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
// Exit if accessed directly
|
|
20
|
+
if ( ! defined( 'ABSPATH' ) ) {
|
|
21
|
+
exit;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Register all blocks from the block.json manifest.
|
|
26
|
+
*
|
|
27
|
+
* @since 1.1.0
|
|
28
|
+
* @return void
|
|
29
|
+
*/
|
|
30
|
+
function tds_register_blocks() {
|
|
31
|
+
$blocks_dir = plugin_dir_path( __FILE__ ) . 'blocks/';
|
|
32
|
+
|
|
33
|
+
if ( ! is_dir( $blocks_dir ) ) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Register each block found in the blocks directory
|
|
38
|
+
$block_dirs = glob( $blocks_dir . '*', GLOB_ONLYDIR );
|
|
39
|
+
|
|
40
|
+
foreach ( $block_dirs as $block_dir ) {
|
|
41
|
+
$block_json = $block_dir . '/block.json';
|
|
42
|
+
|
|
43
|
+
if ( file_exists( $block_json ) ) {
|
|
44
|
+
register_block_type( $block_json );
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
add_action( 'init', 'tds_register_blocks' );
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Enqueue plugin styles and scripts.
|
|
53
|
+
*
|
|
54
|
+
* @since 1.1.0
|
|
55
|
+
* @return void
|
|
56
|
+
*/
|
|
57
|
+
function tds_enqueue_assets() {
|
|
58
|
+
// Enqueue theme-scss styles if available
|
|
59
|
+
$stylesheet_handle = 'times-design-system-theme';
|
|
60
|
+
|
|
61
|
+
if ( wp_style_is( $stylesheet_handle, 'registered' ) || wp_style_is( $stylesheet_handle, 'enqueued' ) ) {
|
|
62
|
+
wp_enqueue_style( $stylesheet_handle );
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
add_action( 'wp_enqueue_scripts', 'tds_enqueue_assets' );
|
|
67
|
+
add_action( 'admin_enqueue_scripts', 'tds_enqueue_assets' );
|
|
68
|
+
|
|
69
|
+
// Activation hook
|
|
70
|
+
register_activation_hook( __FILE__, function() {
|
|
71
|
+
// Flush rewrite rules on activation if needed
|
|
72
|
+
flush_rewrite_rules();
|
|
73
|
+
} );
|
|
74
|
+
|
|
75
|
+
// Deactivation hook
|
|
76
|
+
register_deactivation_hook( __FILE__, function() {
|
|
77
|
+
// Clean up on deactivation if needed
|
|
78
|
+
flush_rewrite_rules();
|
|
79
|
+
} );
|