@purpur/library 9.7.2 → 9.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/library.cjs.js +1 -1
- package/dist/library.es.js +1 -1
- package/dist/purpur.css +1 -1
- package/dist/stepper-5qMo_shq.js +2 -0
- package/dist/{stepper-DpauItjx.js.map → stepper-5qMo_shq.js.map} +1 -1
- package/dist/{stepper-BDsSa6yr.mjs → stepper-e0qicwqd.mjs} +152 -152
- package/dist/{stepper-BDsSa6yr.mjs.map → stepper-e0qicwqd.mjs.map} +1 -1
- package/dist/stepper.cjs.js +1 -1
- package/dist/stepper.es.js +1 -1
- package/package.json +32 -28
- package/.lintstagedrc.mts +0 -10
- package/@types/scss.d.ts +0 -4
- package/CHANGELOG.json +0 -3996
- package/CHANGELOG.md +0 -2084
- package/dist/stepper-DpauItjx.js +0 -2
- package/eslint.config.mjs +0 -2
- package/scripts/generate.mts +0 -269
- package/src/accordion.ts +0 -6
- package/src/alert-badge.ts +0 -6
- package/src/aliases.ts +0 -302
- package/src/autocomplete.ts +0 -6
- package/src/avatar.ts +0 -6
- package/src/badge.ts +0 -6
- package/src/breadcrumbs.ts +0 -6
- package/src/button.ts +0 -6
- package/src/calendar.ts +0 -6
- package/src/card.ts +0 -6
- package/src/carousel.ts +0 -6
- package/src/chat-field.ts +0 -6
- package/src/checkbox.ts +0 -6
- package/src/chip-group.ts +0 -6
- package/src/color-dot.ts +0 -6
- package/src/comparison-table.ts +0 -6
- package/src/container.ts +0 -6
- package/src/content-block.ts +0 -6
- package/src/countdown.ts +0 -6
- package/src/counter-badge.ts +0 -6
- package/src/cta-link.ts +0 -6
- package/src/date-field.ts +0 -6
- package/src/date-picker.ts +0 -6
- package/src/date-range-field.ts +0 -6
- package/src/dismissable-chip-group.ts +0 -6
- package/src/drawer.ts +0 -6
- package/src/dropdown.ts +0 -6
- package/src/entries.js +0 -73
- package/src/field-error-text.ts +0 -6
- package/src/field-helper-text.ts +0 -6
- package/src/footer.ts +0 -6
- package/src/grid.ts +0 -6
- package/src/heading.ts +0 -6
- package/src/hero-banner.ts +0 -6
- package/src/label.ts +0 -6
- package/src/library.ts +0 -77
- package/src/link.ts +0 -6
- package/src/listbox.ts +0 -6
- package/src/loading.ts +0 -6
- package/src/message.ts +0 -6
- package/src/modal.ts +0 -6
- package/src/notification-banner.ts +0 -6
- package/src/notification.ts +0 -6
- package/src/pagination.ts +0 -6
- package/src/paragraph.ts +0 -6
- package/src/password-field.ts +0 -7
- package/src/popover.ts +0 -6
- package/src/product-card.ts +0 -6
- package/src/promotion-card.ts +0 -6
- package/src/purpur.css +0 -1
- package/src/quantity-selector.ts +0 -6
- package/src/radio-button-group.ts +0 -6
- package/src/radio-card-group.ts +0 -6
- package/src/rich-text.ts +0 -6
- package/src/search-field.ts +0 -6
- package/src/select.ts +0 -6
- package/src/skeleton.ts +0 -6
- package/src/slider.ts +0 -6
- package/src/spacer.ts +0 -6
- package/src/spinner.ts +0 -6
- package/src/stepper.ts +0 -6
- package/src/table.ts +0 -6
- package/src/tabs.ts +0 -6
- package/src/text-area.ts +0 -6
- package/src/text-field.ts +0 -6
- package/src/text-spacing.ts +0 -6
- package/src/theme.ts +0 -6
- package/src/toggle.ts +0 -6
- package/src/tokens.ts +0 -6
- package/src/tooltip.ts +0 -6
- package/src/visually-hidden.ts +0 -6
- package/vite-plugin-generate-components-metadata.js +0 -62
package/dist/stepper-DpauItjx.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),l=require("react"),$=require("./button-DmybVApa.js"),M=require("./chevron-left.es-B0vPg5XM.js"),W=require("./chevron-right.es-Bv376M3o.js"),I=require("./index-BVmlsxuF.js"),x=require("./index-CoR7YA3H.js"),T=require("./bind-DeUYJ6m9.js"),J=require("./tooltip-CJGmJDFQ.js"),K=require("./checkmark.es-lYntWFA3.js"),Q={PRIMARY:"primary"},L={SMALL_SCREEN:"small-screen",LARGE_SCREEN:"large-screen",ALWAYS:"always"},X={"purpur-stepper__nav-container":"_purpur-stepper__nav-container_1rouo_1","purpur-stepper__nav":"_purpur-stepper__nav_1rouo_1","purpur-stepper":"_purpur-stepper_1rouo_1","purpur-stepper__scroll-button":"_purpur-stepper__scroll-button_1rouo_7","purpur-stepper__scroll-button--left":"_purpur-stepper__scroll-button--left_1rouo_18","purpur-stepper__scroll-button--right":"_purpur-stepper__scroll-button--right_1rouo_21","purpur-stepper__scroll-button-icon":"_purpur-stepper__scroll-button-icon_1rouo_24","purpur-stepper__hidden":"_purpur-stepper__hidden_1rouo_27"},Z={"purpur-stepper-container":"_purpur-stepper-container_162zw_1","purpur-stepper-container__inner--align-with-grid":"_purpur-stepper-container__inner--align-with-grid_162zw_5","purpur-stepper-container--primary":"_purpur-stepper-container--primary_162zw_18","purpur-stepper-container--secondary":"_purpur-stepper-container--secondary_162zw_21"},O=T.c.bind(Z),v="purpur-stepper-container",ee=({["data-testid"]:t="purpur-stepper-container",children:r,className:s,alignWithGrid:n,variant:i,...p})=>{const h=O(s,v,{[`${v}--${i}`]:i,[`${v}--align-with-grid`]:n});return e.jsx("div",{className:h,"data-testid":t,...p,children:e.jsx("div",{className:O(`${v}__inner`,{[`${v}__inner--align-with-grid`]:n}),children:r})})},te=l.forwardRef(({children:t,...r},s)=>{const{finished:n,...i}=r;return e.jsx("div",{...i,ref:s,children:t})}),re=t=>!!t&&l.isValidElement(t)&&!!t.props.label,se={"purpur-stepper-button":"_purpur-stepper-button_wjiph_1","purpur-stepper-button__trigger-outline":"_purpur-stepper-button__trigger-outline_wjiph_21","purpur-stepper-button--first":"_purpur-stepper-button--first_wjiph_33","purpur-stepper-button--current":"_purpur-stepper-button--current_wjiph_33","purpur-stepper-button--middle":"_purpur-stepper-button--middle_wjiph_38","purpur-stepper-button--last":"_purpur-stepper-button--last_wjiph_48","purpur-stepper-button--visibility-small-screen":"_purpur-stepper-button--visibility-small-screen_wjiph_58","purpur-stepper-button--visibility-large-screen":"_purpur-stepper-button--visibility-large-screen_wjiph_66","purpur-stepper-button__icon":"_purpur-stepper-button__icon_wjiph_90","purpur-stepper-button__step-number":"_purpur-stepper-button__step-number_wjiph_97","purpur-stepper-button__step-number--current":"_purpur-stepper-button__step-number--current_wjiph_108","purpur-stepper-button__step-number--disabled":"_purpur-stepper-button__step-number--disabled_wjiph_112","purpur-stepper-button__step-label":"_purpur-stepper-button__step-label_wjiph_117","arrow-forward":"_arrow-forward_wjiph_121","purpur-stepper-button--primary":"_purpur-stepper-button--primary_wjiph_133","purpur-stepper-button--disabled":"_purpur-stepper-button--disabled_wjiph_136","purpur-stepper-button--secondary":"_purpur-stepper-button--secondary_wjiph_142","arrow-tail":"_arrow-tail_wjiph_152","sr-only--lg-down":"_sr-only--lg-down_wjiph_171"},y=T.c.bind(se),d="purpur-stepper-button",ne=({["data-testid"]:t,current:r,disabled:s,stepNumber:n})=>e.jsx("div",{"data-testid":t,className:y([`${d}__step-number`,{[`${d}__step-number--current`]:r},{[`${d}__step-number--disabled`]:s}]),children:n}),A=l.forwardRef(({className:t,["data-testid"]:r,variant:s,step:n,indexOfLastItem:i,index:p,currentStepIndex:h,whenToBeVisible:m,handleStepChange:u,handleStepFocus:a,completedStepLabel:o,..._},b)=>{const R=p===0?"first":p===i?"last":"middle",g=p===h;return e.jsx(I.Item,{asChild:!0,children:e.jsx($.Button,{..._,ref:b,className:y(t,d,`${d}--${R}`,`${d}--${s}`,`${d}--visibility-${m}`,{[`${d}--current`]:g},{[`${d}--disabled`]:n.disabled},{"arrow-tail":R!=="first"},{"arrow-forward":R!=="last"}),id:`stepper-trigger-button-${p}`,variant:$.BUTTON_VARIANT.TERTIARY_PURPLE,"data-testid":`${r}-step-trigger-item-${p}`,disabled:n.disabled,"aria-current":g&&"step","aria-label":n.finished&&!g?[n.label,o].filter(Boolean).join(", "):void 0,onClick:E=>u(E,p),onFocus:a,children:e.jsxs("span",{className:y(`${d}__trigger-outline`),children:[n.finished&&!g?e.jsx(K.a,{className:y(`${d}__icon`),"data-testid":`${r}-step-finished-icon`,size:"sm"}):e.jsx(ne,{"data-testid":`${r}-step-number`,current:g,disabled:n.disabled,stepNumber:p+1}),e.jsx("span",{className:y(`${d}__step-label`,{"sr-only--lg-down":!g}),children:n.label})]})})})}),pe={"purpur-stepper-nav-items__list":"_purpur-stepper-nav-items__list_lgkh0_1","purpur-stepper-nav-items__list-item":"_purpur-stepper-nav-items__list-item_lgkh0_7","purpur-stepper-nav-items__list-item--current":"_purpur-stepper-nav-items__list-item--current_lgkh0_25","purpur-stepper-nav-items__tooltip-content":"_purpur-stepper-nav-items__tooltip-content_lgkh0_31","purpur-stepper-nav-items__tooltip-trigger-item-container":"_purpur-stepper-nav-items__tooltip-trigger-item-container_lgkh0_34"},C=T.c.bind(pe),N="purpur-stepper-nav-items",oe=l.forwardRef(({["data-testid"]:t,variant:r,handleStepChange:s,handleStepFocus:n,steps:i,firstStepRef:p,lastStepRef:h,currentStepIndex:m,completedStepLabel:u},a)=>{const o=i.map((_,b)=>{const R=e.jsx("span",{className:C(`${N}__tooltip-trigger-item-container`),children:e.jsx(A,{"data-testid":`${t}-disabled-sm`,variant:r,step:_,indexOfLastItem:i.length-1,index:b,currentStepIndex:m,whenToBeVisible:L.SMALL_SCREEN,completedStepLabel:u,handleStepChange:s,handleStepFocus:n})});return e.jsx("li",{className:C(`${N}__list-item`,{[`${N}__list-item--current`]:b===m}),ref:b===0?p:b===i.length-1?h:null,children:_.disabled?e.jsxs(e.Fragment,{children:[e.jsx(J.Tooltip,{contentClassName:C(`${N}__tooltip-content`),triggerElement:R,children:_.label}),e.jsx(A,{"data-testid":`${t}-disabled-lg`,variant:r,step:_,indexOfLastItem:i.length-1,index:b,currentStepIndex:m,whenToBeVisible:L.LARGE_SCREEN,completedStepLabel:u,handleStepChange:s,handleStepFocus:n})]}):e.jsx(A,{"data-testid":t,variant:r,step:_,indexOfLastItem:i.length-1,index:b,currentStepIndex:m,whenToBeVisible:L.ALWAYS,completedStepLabel:u,handleStepChange:s,handleStepFocus:n})},_.label)});return e.jsx(I.Root,{loop:!1,dir:"ltr",children:e.jsx("ol",{ref:a,className:C(`${N}__list`),children:o})})}),ie=t=>{const r=l.useRef(!0),s=l.useRef(null);return l.useEffect(()=>{!r.current&&s.current!==null&&s.current.focus(),r.current=!1},[t]),{contentRef:s}},S={LEFT:"left",RIGHT:"right"},le=()=>{const t=l.useRef(null),r=l.useRef(null),s=l.useRef(null),[n,i]=l.useState(!1),[p,h]=l.useState(!1),m=u=>{if(!t.current)return;const a=t.current,o=a.clientWidth,_=a.scrollLeft;u===S.LEFT&&a.scroll({behavior:"smooth",left:_-o/2}),u===S.RIGHT&&a.scroll({behavior:"smooth",left:_+o/2})};return l.useEffect(()=>{if(r.current&&s.current&&t.current){const u=new IntersectionObserver(a=>{for(const o of a){if(o.target===r.current){o.isIntersecting?i(!1):i(!0);continue}o.target===s.current&&(o.isIntersecting?h(!1):h(!0))}},{root:t.current,threshold:.95});return u.observe(r.current),u.observe(s.current),()=>u.disconnect()}},[r,s,t]),{scrollContainer:t,firstStepRef:r,lastStepRef:s,displayLeftScrollButton:n,displayRightScrollButton:p,handleHorizontalScroll:m}},j=T.c.bind(X),c="purpur-stepper",B=({["aria-label"]:t,["data-testid"]:r,children:s,className:n,completedStepLabel:i,currentStepIndex:p=0,onStepChange:h,alignWithGrid:m=!1,leftScrollButtonAriaLabel:u,rightScrollButtonAriaLabel:a,variant:o=Q.PRIMARY,..._})=>{const b=l.Children.toArray(s).filter(re),R=l.Children.map(b,f=>{const{disabled:w,finished:D,label:G}=f.props;return{disabled:w??!1,finished:D??!1,label:G}}),{contentRef:g}=ie(p),{scrollContainer:E,firstStepRef:q,lastStepRef:z,displayLeftScrollButton:P,displayRightScrollButton:Y,handleHorizontalScroll:V}=le(),U=j([n,c,{[`${c}--${o}`]:o}]),k=f=>{f.target.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},F=(f,w)=>{f.preventDefault(),k(f),h(w)},H=f=>{k(f)};return e.jsxs("div",{className:U,..._,children:[e.jsx(ee,{variant:o,alignWithGrid:m,children:e.jsxs("div",{className:j(`${c}__nav-container`),children:[e.jsxs(x.Root,{children:[e.jsx(x.Viewport,{ref:E,children:e.jsx("div",{"aria-label":t,"data-testid":r,className:j([`${c}__nav`,{[`${c}__nav--${o}`]:o}]),children:e.jsx(I.Root,{loop:!1,dir:"ltr",children:e.jsx(oe,{"data-testid":r,variant:o,firstStepRef:q,lastStepRef:z,steps:R,currentStepIndex:p,handleStepChange:F,handleStepFocus:H,completedStepLabel:i})})})}),e.jsx(x.Scrollbar,{orientation:"horizontal",children:e.jsx(x.Thumb,{})})]}),P&&e.jsx($.Button,{"aria-label":u,className:j([`${c}__scroll-button`,`${c}__scroll-button--left`]),variant:$.BUTTON_VARIANT.TERTIARY_PURPLE,tabIndex:-1,iconOnly:!0,onClick:()=>{V(S.LEFT)},children:e.jsx(M.l,{className:j(`${c}__scroll-button-icon`),size:"md"})}),Y&&e.jsx($.Button,{"aria-label":a,className:j([`${c}__scroll-button`,`${c}__scroll-button--right`]),variant:$.BUTTON_VARIANT.TERTIARY_PURPLE,tabIndex:-1,iconOnly:!0,onClick:()=>{V(S.RIGHT)},children:e.jsx(W.n,{className:j(`${c}__scroll-button-icon`),size:"md"})})]})}),e.jsx("div",{tabIndex:-1,"aria-labelledby":`stepper-trigger-button-${p}`,ref:g,style:{outline:"none"},children:e.jsx("div",{"aria-live":"polite",children:l.Children.map(b,(f,w)=>e.jsx("div",{className:j({[`${c}__hidden`]:w!==p}),hidden:w!==p,children:f}))})})]})};B.Content=te;B.displayName="Stepper";exports.Stepper=B;
|
|
2
|
-
//# sourceMappingURL=stepper-DpauItjx.js.map
|
package/eslint.config.mjs
DELETED
package/scripts/generate.mts
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import { join, relative } from "path";
|
|
3
|
-
import { createRequire } from "module";
|
|
4
|
-
|
|
5
|
-
const require = createRequire(import.meta.url);
|
|
6
|
-
const rushLib = require("@microsoft/rush-lib");
|
|
7
|
-
|
|
8
|
-
const rushConfiguration = rushLib.RushConfiguration.loadFromDefaultLocation({
|
|
9
|
-
startingFolder: process.cwd(),
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
const libraryProject = rushConfiguration.findProjectByShorthandName("@purpur/library");
|
|
13
|
-
|
|
14
|
-
libraryProject?.packageJsonEditor.addOrUpdateDependency(
|
|
15
|
-
"@purpur/tokens",
|
|
16
|
-
"workspace:*",
|
|
17
|
-
rushLib.DependencyType.Dev
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
libraryProject?.packageJsonEditor.addOrUpdateDependency(
|
|
21
|
-
"@purpur/theme",
|
|
22
|
-
"workspace:*",
|
|
23
|
-
rushLib.DependencyType.Dev
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
libraryProject?.packageJsonEditor.addOrUpdateDependency(
|
|
27
|
-
"@purpur/action",
|
|
28
|
-
"workspace:*",
|
|
29
|
-
rushLib.DependencyType.Dev
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
libraryProject?.packageJsonEditor.addOrUpdateDependency(
|
|
33
|
-
"@purpur/common-types",
|
|
34
|
-
"workspace:*",
|
|
35
|
-
rushLib.DependencyType.Dev
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
// Special-cased components: their dist is copied via vite-plugin-static-copy
|
|
39
|
-
const specialComponents = [
|
|
40
|
-
"@purpur/icon",
|
|
41
|
-
"@purpur/illustrative-icon",
|
|
42
|
-
"@purpur/logo",
|
|
43
|
-
"@purpur/password-field",
|
|
44
|
-
];
|
|
45
|
-
|
|
46
|
-
// Special components need to be devDependencies (their dist is copied, styles are imported)
|
|
47
|
-
for (const specialPkg of specialComponents) {
|
|
48
|
-
libraryProject?.packageJsonEditor.addOrUpdateDependency(
|
|
49
|
-
specialPkg,
|
|
50
|
-
"workspace:*",
|
|
51
|
-
rushLib.DependencyType.Dev
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const components = rushConfiguration.projects.filter(
|
|
56
|
-
(project) =>
|
|
57
|
-
project.projectRelativeFolder.startsWith("components/") &&
|
|
58
|
-
!specialComponents.includes(project.packageName)
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
const allComponents = rushConfiguration.projects.filter((project) =>
|
|
62
|
-
project.projectRelativeFolder.startsWith("components/")
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
const getComponentName = (packageName: string) => packageName.replace("@purpur/", "");
|
|
66
|
-
|
|
67
|
-
const getFileContent = (lines: string[]) => {
|
|
68
|
-
return [
|
|
69
|
-
"/**",
|
|
70
|
-
" * ⚠️ WARNING ⚠️",
|
|
71
|
-
" * This file is automatically generated, do not edit it manually",
|
|
72
|
-
" */",
|
|
73
|
-
"",
|
|
74
|
-
]
|
|
75
|
-
.concat(lines)
|
|
76
|
-
.join("\n");
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
const getJsonContent = (value: unknown) => `${JSON.stringify(value, null, 2)}\n`;
|
|
80
|
-
|
|
81
|
-
// Generate per-component entry files (no more style imports — styles come from source via aliases)
|
|
82
|
-
const getIndexFileLines = async () => {
|
|
83
|
-
const projectFileLines = await Promise.all(
|
|
84
|
-
components.map(async (project) => {
|
|
85
|
-
const { packageName } = project;
|
|
86
|
-
|
|
87
|
-
libraryProject?.packageJsonEditor.addOrUpdateDependency(
|
|
88
|
-
packageName,
|
|
89
|
-
"workspace:*",
|
|
90
|
-
rushLib.DependencyType.Dev
|
|
91
|
-
);
|
|
92
|
-
|
|
93
|
-
const lines = [`export * from "${packageName}";`, ""];
|
|
94
|
-
|
|
95
|
-
fs.writeFileSync(
|
|
96
|
-
join(process.cwd(), "src", `${getComponentName(packageName)}.ts`),
|
|
97
|
-
getFileContent(lines)
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
return lines;
|
|
101
|
-
})
|
|
102
|
-
);
|
|
103
|
-
|
|
104
|
-
return projectFileLines;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
const indexFileLines = await getIndexFileLines();
|
|
108
|
-
|
|
109
|
-
// Generate tokens entry
|
|
110
|
-
fs.writeFileSync(
|
|
111
|
-
join(process.cwd(), "src", "tokens.ts"),
|
|
112
|
-
getFileContent([`export * from "@purpur/tokens";`, ""])
|
|
113
|
-
);
|
|
114
|
-
|
|
115
|
-
// Generate theme entry
|
|
116
|
-
fs.writeFileSync(
|
|
117
|
-
join(process.cwd(), "src", "theme.ts"),
|
|
118
|
-
getFileContent([`export * from "@purpur/theme";`, ""])
|
|
119
|
-
);
|
|
120
|
-
|
|
121
|
-
// Generate Vite resolve aliases
|
|
122
|
-
const libraryDir = process.cwd();
|
|
123
|
-
const srcDir = join(libraryDir, "src");
|
|
124
|
-
const aliases: Array<{ find: string; replacement: string }> = [];
|
|
125
|
-
|
|
126
|
-
// Add aliases for non-special components (resolve to source)
|
|
127
|
-
// Special components (icon, illustrative-icon, logo, password-field) are NOT aliased
|
|
128
|
-
// because they have complex subpath exports. Their dist is copied via vite-plugin-static-copy.
|
|
129
|
-
for (const project of components) {
|
|
130
|
-
const packageJson = await import(
|
|
131
|
-
join(libraryDir, "../../", project.projectRelativeFolder, "package.json")
|
|
132
|
-
);
|
|
133
|
-
const sourceFile = packageJson.source as string; // e.g. "src/button.tsx"
|
|
134
|
-
const absSourcePath = join(libraryDir, "../../", project.projectRelativeFolder, sourceFile);
|
|
135
|
-
const relPath = relative(srcDir, absSourcePath);
|
|
136
|
-
|
|
137
|
-
aliases.push({
|
|
138
|
-
find: project.packageName,
|
|
139
|
-
replacement: relPath,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// Add aliases for internal libraries (resolve to source)
|
|
144
|
-
const internalLibs = [
|
|
145
|
-
{
|
|
146
|
-
name: "@purpur/common-types",
|
|
147
|
-
folder: "libraries/common-types",
|
|
148
|
-
source: "src/common-types.ts",
|
|
149
|
-
types: "src/common-types.ts",
|
|
150
|
-
include: "../../libraries/common-types/src",
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
name: "@purpur/theme",
|
|
154
|
-
folder: "libraries/theme",
|
|
155
|
-
source: "src/theme.ts",
|
|
156
|
-
types: "src/theme.ts",
|
|
157
|
-
include: "../../libraries/theme/src",
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
name: "@purpur/action",
|
|
161
|
-
folder: "libraries/action",
|
|
162
|
-
source: "src/action.tsx",
|
|
163
|
-
types: "src/action.tsx",
|
|
164
|
-
include: "../../libraries/action/src",
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
name: "@purpur/tokens",
|
|
168
|
-
folder: "libraries/tokens",
|
|
169
|
-
source: "dist/index.js",
|
|
170
|
-
types: "dist/index.d.ts",
|
|
171
|
-
include: "../../libraries/tokens/dist",
|
|
172
|
-
},
|
|
173
|
-
];
|
|
174
|
-
|
|
175
|
-
for (const lib of internalLibs) {
|
|
176
|
-
const absSourcePath = join(libraryDir, "../../", lib.folder, lib.source);
|
|
177
|
-
const relPath = relative(srcDir, absSourcePath);
|
|
178
|
-
aliases.push({ find: lib.name, replacement: relPath });
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
fs.writeFileSync(
|
|
182
|
-
join(process.cwd(), "src", "aliases.ts"),
|
|
183
|
-
getFileContent([
|
|
184
|
-
`import { resolve } from "path";`,
|
|
185
|
-
`import { fileURLToPath } from "url";`,
|
|
186
|
-
``,
|
|
187
|
-
`const __dirname = fileURLToPath(new URL(".", import.meta.url));`,
|
|
188
|
-
``,
|
|
189
|
-
`export const aliases = [`,
|
|
190
|
-
...aliases.map((alias) => {
|
|
191
|
-
const escapedFind = alias.find.replace(/[.*+?^${}()|[\]\\/]/g, "\\$&");
|
|
192
|
-
return ` { find: /^${escapedFind}$/, replacement: resolve(__dirname, ${JSON.stringify(
|
|
193
|
-
alias.replacement
|
|
194
|
-
)}) },`;
|
|
195
|
-
}),
|
|
196
|
-
`];`,
|
|
197
|
-
"",
|
|
198
|
-
])
|
|
199
|
-
);
|
|
200
|
-
|
|
201
|
-
fs.writeFileSync(
|
|
202
|
-
join(process.cwd(), "tsconfig.types.json"),
|
|
203
|
-
getJsonContent({
|
|
204
|
-
extends: "@purpur/component-rig/tsconfig.types.json",
|
|
205
|
-
compilerOptions: {
|
|
206
|
-
baseUrl: ".",
|
|
207
|
-
noImplicitAny: true,
|
|
208
|
-
outDir: "types",
|
|
209
|
-
rootDir: "../..",
|
|
210
|
-
paths: Object.fromEntries(
|
|
211
|
-
internalLibs.map((lib) => [
|
|
212
|
-
lib.name,
|
|
213
|
-
[join("../../", lib.folder, lib.types).replace(/\\/g, "/")],
|
|
214
|
-
])
|
|
215
|
-
),
|
|
216
|
-
types: ["node"],
|
|
217
|
-
skipLibCheck: true,
|
|
218
|
-
},
|
|
219
|
-
include: ["src", "@types", "../../components/*/src", ...internalLibs.map((lib) => lib.include)],
|
|
220
|
-
exclude: [
|
|
221
|
-
"**/*.test.*",
|
|
222
|
-
"**/*.stories.*",
|
|
223
|
-
"**/*.spec.*",
|
|
224
|
-
"../../components/*/src/**/*.test.*",
|
|
225
|
-
"../../components/*/src/**/*.stories.*",
|
|
226
|
-
"../../components/*/src/**/*.spec.*",
|
|
227
|
-
"../../libraries/*/src/**/*.test.*",
|
|
228
|
-
"../../libraries/*/src/**/*.stories.*",
|
|
229
|
-
"../../libraries/*/src/**/*.spec.*",
|
|
230
|
-
"node_modules",
|
|
231
|
-
"dist",
|
|
232
|
-
"src/aliases.ts",
|
|
233
|
-
"src/entries.js",
|
|
234
|
-
],
|
|
235
|
-
})
|
|
236
|
-
);
|
|
237
|
-
|
|
238
|
-
// Generate main barrel entry (library.ts)
|
|
239
|
-
fs.writeFileSync(
|
|
240
|
-
join(process.cwd(), "src", "library.ts"),
|
|
241
|
-
getFileContent(
|
|
242
|
-
[
|
|
243
|
-
`import "./purpur.css";`,
|
|
244
|
-
``,
|
|
245
|
-
`import "@purpur/icon/styles";`,
|
|
246
|
-
``,
|
|
247
|
-
`import "@purpur/illustrative-icon/styles";`,
|
|
248
|
-
``,
|
|
249
|
-
`import "@purpur/logo/styles";`,
|
|
250
|
-
``,
|
|
251
|
-
`import "@purpur/password-field/styles";`,
|
|
252
|
-
``,
|
|
253
|
-
]
|
|
254
|
-
.concat(indexFileLines.flat())
|
|
255
|
-
.concat([`export * from "@purpur/tokens";`, ``, `export * from "@purpur/theme";`, ``])
|
|
256
|
-
)
|
|
257
|
-
);
|
|
258
|
-
|
|
259
|
-
// Generate entries.js (includes tokens and theme)
|
|
260
|
-
const componentEntries = components.map(({ packageName }) => `"${getComponentName(packageName)}"`);
|
|
261
|
-
|
|
262
|
-
fs.writeFileSync(
|
|
263
|
-
join(process.cwd(), "src", "entries.js"),
|
|
264
|
-
getFileContent([
|
|
265
|
-
`export const entries = [${[...componentEntries, `"tokens"`, `"theme"`].join(",")}];`,
|
|
266
|
-
])
|
|
267
|
-
);
|
|
268
|
-
|
|
269
|
-
libraryProject?.packageJsonEditor.saveIfModified();
|
package/src/accordion.ts
DELETED
package/src/alert-badge.ts
DELETED
package/src/aliases.ts
DELETED
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ⚠️ WARNING ⚠️
|
|
3
|
-
* This file is automatically generated, do not edit it manually
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { resolve } from "path";
|
|
7
|
-
import { fileURLToPath } from "url";
|
|
8
|
-
|
|
9
|
-
const __dirname = fileURLToPath(new URL(".", import.meta.url));
|
|
10
|
-
|
|
11
|
-
export const aliases = [
|
|
12
|
-
{
|
|
13
|
-
find: /^@purpur\/accordion$/,
|
|
14
|
-
replacement: resolve(__dirname, "../../../components/accordion/src/accordion.tsx"),
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
find: /^@purpur\/alert-badge$/,
|
|
18
|
-
replacement: resolve(__dirname, "../../../components/alert-badge/src/alert-badge.tsx"),
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
find: /^@purpur\/autocomplete$/,
|
|
22
|
-
replacement: resolve(__dirname, "../../../components/autocomplete/src/autocomplete.tsx"),
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
find: /^@purpur\/avatar$/,
|
|
26
|
-
replacement: resolve(__dirname, "../../../components/avatar/src/avatar.tsx"),
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
find: /^@purpur\/badge$/,
|
|
30
|
-
replacement: resolve(__dirname, "../../../components/badge/src/badge.tsx"),
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
find: /^@purpur\/breadcrumbs$/,
|
|
34
|
-
replacement: resolve(__dirname, "../../../components/breadcrumbs/src/breadcrumbs.tsx"),
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
find: /^@purpur\/button$/,
|
|
38
|
-
replacement: resolve(__dirname, "../../../components/button/src/button.tsx"),
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
find: /^@purpur\/calendar$/,
|
|
42
|
-
replacement: resolve(__dirname, "../../../components/calendar/src/calendar.tsx"),
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
find: /^@purpur\/card$/,
|
|
46
|
-
replacement: resolve(__dirname, "../../../components/card/src/card.tsx"),
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
find: /^@purpur\/carousel$/,
|
|
50
|
-
replacement: resolve(__dirname, "../../../components/carousel/src/carousel.tsx"),
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
find: /^@purpur\/chat-field$/,
|
|
54
|
-
replacement: resolve(__dirname, "../../../components/chat-field/src/chat-field.tsx"),
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
find: /^@purpur\/checkbox$/,
|
|
58
|
-
replacement: resolve(__dirname, "../../../components/checkbox/src/checkbox.tsx"),
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
find: /^@purpur\/chip-group$/,
|
|
62
|
-
replacement: resolve(__dirname, "../../../components/chip-group/src/chip-group.tsx"),
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
find: /^@purpur\/color-dot$/,
|
|
66
|
-
replacement: resolve(__dirname, "../../../components/color-dot/src/color-dot.tsx"),
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
find: /^@purpur\/comparison-table$/,
|
|
70
|
-
replacement: resolve(
|
|
71
|
-
__dirname,
|
|
72
|
-
"../../../components/comparison-table/src/comparison-table.tsx"
|
|
73
|
-
),
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
find: /^@purpur\/container$/,
|
|
77
|
-
replacement: resolve(__dirname, "../../../components/container/src/container.tsx"),
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
find: /^@purpur\/content-block$/,
|
|
81
|
-
replacement: resolve(__dirname, "../../../components/content-block/src/content-block.tsx"),
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
find: /^@purpur\/countdown$/,
|
|
85
|
-
replacement: resolve(__dirname, "../../../components/countdown/src/countdown.tsx"),
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
find: /^@purpur\/counter-badge$/,
|
|
89
|
-
replacement: resolve(__dirname, "../../../components/counter-badge/src/counter-badge.tsx"),
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
find: /^@purpur\/cta-link$/,
|
|
93
|
-
replacement: resolve(__dirname, "../../../components/cta-link/src/cta-link.tsx"),
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
find: /^@purpur\/date-field$/,
|
|
97
|
-
replacement: resolve(__dirname, "../../../components/date-field/src/date-field.tsx"),
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
find: /^@purpur\/date-picker$/,
|
|
101
|
-
replacement: resolve(__dirname, "../../../components/date-picker/src/date-picker.tsx"),
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
find: /^@purpur\/date-range-field$/,
|
|
105
|
-
replacement: resolve(
|
|
106
|
-
__dirname,
|
|
107
|
-
"../../../components/date-range-field/src/date-range-field.tsx"
|
|
108
|
-
),
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
find: /^@purpur\/dismissable-chip-group$/,
|
|
112
|
-
replacement: resolve(
|
|
113
|
-
__dirname,
|
|
114
|
-
"../../../components/dismissable-chip-group/src/dismissable-chip-group.tsx"
|
|
115
|
-
),
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
find: /^@purpur\/drawer$/,
|
|
119
|
-
replacement: resolve(__dirname, "../../../components/drawer/src/drawer.tsx"),
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
find: /^@purpur\/dropdown$/,
|
|
123
|
-
replacement: resolve(__dirname, "../../../components/dropdown/src/dropdown.tsx"),
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
find: /^@purpur\/field-error-text$/,
|
|
127
|
-
replacement: resolve(
|
|
128
|
-
__dirname,
|
|
129
|
-
"../../../components/field-error-text/src/field-error-text.tsx"
|
|
130
|
-
),
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
find: /^@purpur\/field-helper-text$/,
|
|
134
|
-
replacement: resolve(
|
|
135
|
-
__dirname,
|
|
136
|
-
"../../../components/field-helper-text/src/field-helper-text.tsx"
|
|
137
|
-
),
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
find: /^@purpur\/footer$/,
|
|
141
|
-
replacement: resolve(__dirname, "../../../components/footer/src/footer.tsx"),
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
find: /^@purpur\/grid$/,
|
|
145
|
-
replacement: resolve(__dirname, "../../../components/grid/src/grid.tsx"),
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
find: /^@purpur\/heading$/,
|
|
149
|
-
replacement: resolve(__dirname, "../../../components/heading/src/heading.tsx"),
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
find: /^@purpur\/hero-banner$/,
|
|
153
|
-
replacement: resolve(__dirname, "../../../components/hero-banner/src/hero-banner.tsx"),
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
find: /^@purpur\/label$/,
|
|
157
|
-
replacement: resolve(__dirname, "../../../components/label/src/label.tsx"),
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
find: /^@purpur\/link$/,
|
|
161
|
-
replacement: resolve(__dirname, "../../../components/link/src/link.tsx"),
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
find: /^@purpur\/listbox$/,
|
|
165
|
-
replacement: resolve(__dirname, "../../../components/listbox/src/listbox.tsx"),
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
find: /^@purpur\/loading$/,
|
|
169
|
-
replacement: resolve(__dirname, "../../../components/loading/src/loading.tsx"),
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
find: /^@purpur\/message$/,
|
|
173
|
-
replacement: resolve(__dirname, "../../../components/message/src/message.tsx"),
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
find: /^@purpur\/modal$/,
|
|
177
|
-
replacement: resolve(__dirname, "../../../components/modal/src/modal.tsx"),
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
find: /^@purpur\/notification$/,
|
|
181
|
-
replacement: resolve(__dirname, "../../../components/notification/src/notification.tsx"),
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
find: /^@purpur\/notification-banner$/,
|
|
185
|
-
replacement: resolve(
|
|
186
|
-
__dirname,
|
|
187
|
-
"../../../components/notification-banner/src/notification-banner.tsx"
|
|
188
|
-
),
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
find: /^@purpur\/pagination$/,
|
|
192
|
-
replacement: resolve(__dirname, "../../../components/pagination/src/pagination.tsx"),
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
find: /^@purpur\/paragraph$/,
|
|
196
|
-
replacement: resolve(__dirname, "../../../components/paragraph/src/paragraph.tsx"),
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
find: /^@purpur\/popover$/,
|
|
200
|
-
replacement: resolve(__dirname, "../../../components/popover/src/popover.tsx"),
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
find: /^@purpur\/product-card$/,
|
|
204
|
-
replacement: resolve(__dirname, "../../../components/product-card/src/product-card.tsx"),
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
find: /^@purpur\/promotion-card$/,
|
|
208
|
-
replacement: resolve(__dirname, "../../../components/promotion-card/src/promotion-card.tsx"),
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
find: /^@purpur\/quantity-selector$/,
|
|
212
|
-
replacement: resolve(
|
|
213
|
-
__dirname,
|
|
214
|
-
"../../../components/quantity-selector/src/quantity-selector.tsx"
|
|
215
|
-
),
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
find: /^@purpur\/radio-button-group$/,
|
|
219
|
-
replacement: resolve(
|
|
220
|
-
__dirname,
|
|
221
|
-
"../../../components/radio-button-group/src/radio-button-group.tsx"
|
|
222
|
-
),
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
find: /^@purpur\/radio-card-group$/,
|
|
226
|
-
replacement: resolve(
|
|
227
|
-
__dirname,
|
|
228
|
-
"../../../components/radio-card-group/src/radio-card-group.tsx"
|
|
229
|
-
),
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
find: /^@purpur\/rich-text$/,
|
|
233
|
-
replacement: resolve(__dirname, "../../../components/rich-text/src/rich-text.tsx"),
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
find: /^@purpur\/search-field$/,
|
|
237
|
-
replacement: resolve(__dirname, "../../../components/search-field/src/search-field.tsx"),
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
find: /^@purpur\/select$/,
|
|
241
|
-
replacement: resolve(__dirname, "../../../components/select/src/select.tsx"),
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
find: /^@purpur\/skeleton$/,
|
|
245
|
-
replacement: resolve(__dirname, "../../../components/skeleton/src/skeleton.tsx"),
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
find: /^@purpur\/slider$/,
|
|
249
|
-
replacement: resolve(__dirname, "../../../components/slider/src/slider.tsx"),
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
find: /^@purpur\/spacer$/,
|
|
253
|
-
replacement: resolve(__dirname, "../../../components/spacer/src/spacer.tsx"),
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
find: /^@purpur\/spinner$/,
|
|
257
|
-
replacement: resolve(__dirname, "../../../components/spinner/src/spinner.tsx"),
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
find: /^@purpur\/stepper$/,
|
|
261
|
-
replacement: resolve(__dirname, "../../../components/stepper/src/stepper.tsx"),
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
find: /^@purpur\/table$/,
|
|
265
|
-
replacement: resolve(__dirname, "../../../components/table/src/table.tsx"),
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
find: /^@purpur\/tabs$/,
|
|
269
|
-
replacement: resolve(__dirname, "../../../components/tabs/src/tabs.tsx"),
|
|
270
|
-
},
|
|
271
|
-
{
|
|
272
|
-
find: /^@purpur\/text-area$/,
|
|
273
|
-
replacement: resolve(__dirname, "../../../components/text-area/src/text-area.tsx"),
|
|
274
|
-
},
|
|
275
|
-
{
|
|
276
|
-
find: /^@purpur\/text-field$/,
|
|
277
|
-
replacement: resolve(__dirname, "../../../components/text-field/src/text-field.tsx"),
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
find: /^@purpur\/text-spacing$/,
|
|
281
|
-
replacement: resolve(__dirname, "../../../components/text-spacing/src/text-spacing.tsx"),
|
|
282
|
-
},
|
|
283
|
-
{
|
|
284
|
-
find: /^@purpur\/toggle$/,
|
|
285
|
-
replacement: resolve(__dirname, "../../../components/toggle/src/toggle.tsx"),
|
|
286
|
-
},
|
|
287
|
-
{
|
|
288
|
-
find: /^@purpur\/tooltip$/,
|
|
289
|
-
replacement: resolve(__dirname, "../../../components/tooltip/src/tooltip.tsx"),
|
|
290
|
-
},
|
|
291
|
-
{
|
|
292
|
-
find: /^@purpur\/visually-hidden$/,
|
|
293
|
-
replacement: resolve(__dirname, "../../../components/visually-hidden/src/visually-hidden.tsx"),
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
find: /^@purpur\/common-types$/,
|
|
297
|
-
replacement: resolve(__dirname, "../../common-types/src/common-types.ts"),
|
|
298
|
-
},
|
|
299
|
-
{ find: /^@purpur\/theme$/, replacement: resolve(__dirname, "../../theme/src/theme.ts") },
|
|
300
|
-
{ find: /^@purpur\/action$/, replacement: resolve(__dirname, "../../action/src/action.tsx") },
|
|
301
|
-
{ find: /^@purpur\/tokens$/, replacement: resolve(__dirname, "../../tokens/dist/index.js") },
|
|
302
|
-
];
|
package/src/autocomplete.ts
DELETED
package/src/avatar.ts
DELETED
package/src/badge.ts
DELETED
package/src/breadcrumbs.ts
DELETED
package/src/button.ts
DELETED
package/src/calendar.ts
DELETED
package/src/card.ts
DELETED