-
- ${accordion}
- ${notices}
- ${segmentedControl}
- ${icon}
-
-
-
- ${card}
+
+ ${accordion} ${actionBar} ${notices} ${segmentedControl}
+
+ ${actionPad}
+
${actionMenu}
+ ${icon}
+
-
- ${dropdown}
- ${buttons}
+
+
${card}
+
${dropdown} ${buttons}
+
${checkbox}
+ ${chips} ${pagination} ${slider}
-
- ${checkbox}
-
- ${chips}
- ${pagination}
- ${slider}
-
-
- ${datePicker}
- ${tabs}
- ${loader}
- ${calciteSwitch}
+
${datePicker} ${tabs} ${loader} ${calciteSwitch}
`;
+
+export default {
+ title: "Theming/Custom Theme",
+ args: {
+ ...globalTokens,
+ ...actionTokens,
+ ...actionBarTokens,
+ ...actionMenuTokens,
+ ...actionPadTokens,
+ ...actionGroupTokens,
+ ...cardTokens,
+ },
+};
+
+export const themingInteractive = (args: Record
): string => {
+ return kitchenSink(args);
+};
+
+export const theming_TestOnly = (): string => {
+ return kitchenSink(
+ {
+ ...actionTokens,
+ ...actionBarTokens,
+ ...actionMenuTokens,
+ ...actionPadTokens,
+ ...actionGroupTokens,
+ ...cardTokens,
+ },
+ true,
+ );
};
diff --git a/packages/calcite-components/src/custom-theme/action.ts b/packages/calcite-components/src/custom-theme/action.ts
new file mode 100644
index 00000000000..c7246227413
--- /dev/null
+++ b/packages/calcite-components/src/custom-theme/action.ts
@@ -0,0 +1,66 @@
+import { html } from "../../support/formatting";
+
+export const actionTokens = {
+ calciteActionIndicatorColor: "",
+ calciteActionBackgroundColor: "",
+ calciteActionBackgroundColorHover: "",
+ calciteActionBackgroundColorPressed: "",
+ calciteActionTextColor: "",
+ calciteActionTextColorPressed: "",
+};
+
+export const actionBarTokens = {
+ calciteActionBarExpandedMaxWidth: "",
+ calciteActionBarItemsSpace: "",
+};
+
+export const actionBar = html`
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+export const actionGroupTokens = {
+ calciteActionGroupBorderColor: "",
+ calciteActionGroupColumns: "",
+};
+
+export const actionMenuTokens = { calciteActionMenuItemsSpace: "" };
+
+export const actionPadTokens = {
+ calciteActionPadCornerRadius: "",
+ calciteActionPadExpandedMaxWidth: "",
+ calciteActionPadItemsSpace: "",
+};
+
+export const actionMenu = html`
+
+
+
+
+
+
+
+
+`;
+
+export const actionPad = html`
+
+
+
+
+
+
+
+`;
diff --git a/packages/calcite-components/src/demos/_assets/demo-theme.ts b/packages/calcite-components/src/demos/_assets/demo-theme.ts
index 06850cacfeb..727c7f2ad28 100644
--- a/packages/calcite-components/src/demos/_assets/demo-theme.ts
+++ b/packages/calcite-components/src/demos/_assets/demo-theme.ts
@@ -15,10 +15,11 @@ export function getTokenValue(token: string): string {
color$: "rgb(0, 191, 255)",
hover$: "rgb(255, 105, 180)",
pressed$: "rgb(44, 44, 44)",
+ selected$: "rgb(156, 89, 209)",
shadow$:
"rgb(255, 255, 255) 0px 0px 0px 4px, rgb(255, 105, 180) 0px 0px 0px 5px inset, rgb(0, 191, 255) 0px 0px 0px 9px",
- "z-index$": "42",
- "(size|space)$": "42px",
+ "(z-index)$": "42",
+ "(columns|gap|height|offset|radius|size|space|width)": "42px",
} as const;
const match = Object.entries(tokenValueMap).find(([regexStr]) => {
diff --git a/packages/calcite-components/src/demos/action.html b/packages/calcite-components/src/demos/action.html
index a3a3d6d26f3..968cbe9c5a7 100644
--- a/packages/calcite-components/src/demos/action.html
+++ b/packages/calcite-components/src/demos/action.html
@@ -780,6 +780,38 @@