diff --git a/categories/choice/react/package.json b/categories/choice/react/package.json index d415f08..8763864 100644 --- a/categories/choice/react/package.json +++ b/categories/choice/react/package.json @@ -75,10 +75,12 @@ "import": "./dist/esm/production/index.js", "types": "./dist/types/index.d.ts" }, + "./dist/DropdownSelect.css": "./dist/DropdownSelect.css", + "./dist/MenuSelect.css": "./dist/MenuSelect.css", "./dist/RadioButton.css": "./dist/RadioButton.css", "./dist/RadioTickBox.css": "./dist/RadioTickBox.css" }, "typesVersions": { "*": {} } -} +} \ No newline at end of file diff --git a/categories/choice/react/pridepack.json b/categories/choice/react/pridepack.json index 841fb58..f07dd67 100644 --- a/categories/choice/react/pridepack.json +++ b/categories/choice/react/pridepack.json @@ -1,3 +1,9 @@ { - "target": "es2018" -} \ No newline at end of file + "target": "es2018", + "entryPoints": { + ".": "src/index.ts", + "./dist/DropdownSelect.css": "src/components/DropdownSelect/DropdownSelect.css", + "./dist/RadioButton.css": "src/components/RadioButton/RadioButton.css", + "./dist/RadioTickBox.css": "src/components/RadioTickBox/RadioTickBox.css" + } +} diff --git a/categories/choice/react/scripts/build.ts b/categories/choice/react/scripts/build.ts index 78992e9..cda40be 100644 --- a/categories/choice/react/scripts/build.ts +++ b/categories/choice/react/scripts/build.ts @@ -1,4 +1,4 @@ -import { copyFileSync } from 'fs'; +import { copyFileSync, readFileSync, writeFileSync } from 'fs'; import { resolve } from 'path'; const doCopy = (src: string, dest: string) => { @@ -7,8 +7,16 @@ const doCopy = (src: string, dest: string) => { console.log('Copying...'); console.log(`${trueSrc} -> ${trueDest}`); copyFileSync(trueSrc, trueDest); + const packageJsonContents = readFileSync('./package.json', 'utf-8'); + const packageJson = JSON.parse(packageJsonContents); + packageJson.exports[dest] = dest; + const newPackageJsonContents = JSON.stringify(packageJson, null, 2); + console.log('Updating package.json...'); + writeFileSync('./package.json', newPackageJsonContents); console.log('Done'); } +doCopy('./src/components/DropdownSelect/DropdownSelect.css', './dist/DropdownSelect.css'); +doCopy('./src/components/MenuSelect/MenuSelect.css', './dist/MenuSelect.css'); doCopy('./src/components/RadioButton/RadioButton.css', './dist/RadioButton.css'); doCopy('./src/components/RadioTickBox/RadioTickBox.css', './dist/RadioTickBox.css'); diff --git a/categories/choice/react/src/components/ComboBox/index.tsx b/categories/choice/react/src/components/ComboBox/index.tsx index 1619094..0085a72 100644 --- a/categories/choice/react/src/components/ComboBox/index.tsx +++ b/categories/choice/react/src/components/ComboBox/index.tsx @@ -92,7 +92,7 @@ export const ComboBox = React.forwardRef(
( id={labelId} htmlFor={id} className={clsx( - 'absolute z-[1] w-full top-0.5 left-0 pointer-events-none pl-1 text-xxs font-bold peer-disabled:opacity-50 peer-focus:text-secondary text-primary leading-none bg-negative', + 'absolute z-[1] w-full top-0.5 left-0 pointer-events-none pl-1 text-xxs font-bold peer-disabled:opacity-50 peer-focus:text-secondary text-primary leading-none bg-negative select-none', { 'sr-only': hiddenLabel, }, @@ -172,7 +172,7 @@ export const ComboBox = React.forwardRef(
( {indicator && (
option { + color: rgb(var(--color-positive)); + text-transform: none; + font-size: 1.333333em; +} + +.tesseract-design-dropdown-select option { + user-select: none; +} diff --git a/categories/choice/react/src/components/DropdownSelect/index.tsx b/categories/choice/react/src/components/DropdownSelect/index.tsx index 338fbae..2ff961c 100644 --- a/categories/choice/react/src/components/DropdownSelect/index.tsx +++ b/categories/choice/react/src/components/DropdownSelect/index.tsx @@ -85,7 +85,7 @@ export const DropdownSelect = React.forwardRef option { + color: rgb(var(--color-positive)); + text-transform: none; + font-size: 1.333333em; +} + +.tesseract-design-menu-select option { + user-select: none; +} diff --git a/categories/choice/react/src/components/MenuSelect/index.tsx b/categories/choice/react/src/components/MenuSelect/index.tsx index a457684..6d29cda 100644 --- a/categories/choice/react/src/components/MenuSelect/index.tsx +++ b/categories/choice/react/src/components/MenuSelect/index.tsx @@ -93,7 +93,7 @@ export const MenuSelect = React.forwardRef { @@ -7,9 +7,16 @@ const doCopy = (src: string, dest: string) => { console.log('Copying...'); console.log(`${trueSrc} -> ${trueDest}`); copyFileSync(trueSrc, trueDest); + const packageJsonContents = readFileSync('./package.json', 'utf-8'); + const packageJson = JSON.parse(packageJsonContents); + packageJson.exports[dest] = dest; + const newPackageJsonContents = JSON.stringify(packageJson, null, 2); + console.log('Updating package.json...'); + writeFileSync('./package.json', newPackageJsonContents); console.log('Done'); } +doCopy('./src/components/MenuMultiSelect/MenuMultiSelect.css', './dist/MenuMultiSelect.css'); doCopy('./src/components/TagInput/TagInput.css', './dist/TagInput.css'); doCopy('./src/components/ToggleButton/ToggleButton.css', './dist/ToggleButton.css'); doCopy('./src/components/ToggleSwitch/ToggleSwitch.css', './dist/ToggleSwitch.css'); diff --git a/categories/multichoice/react/src/components/MenuMultiSelect/MenuMultiSelect.css b/categories/multichoice/react/src/components/MenuMultiSelect/MenuMultiSelect.css new file mode 100644 index 0000000..08b4042 --- /dev/null +++ b/categories/multichoice/react/src/components/MenuMultiSelect/MenuMultiSelect.css @@ -0,0 +1,17 @@ +.tesseract-design-menu-multi-select optgroup { + color: rgb(var(--color-positive) / 50%); + text-transform: uppercase; + font-size: 0.75em; + margin-top: 0.5rem; + user-select: none; +} + +.tesseract-design-menu-multi-select optgroup > option { + color: rgb(var(--color-positive)); + text-transform: none; + font-size: 1.333333em; +} + +.tesseract-design-menu-multi-select option { + user-select: none; +} diff --git a/categories/multichoice/react/src/components/MenuMultiSelect/index.tsx b/categories/multichoice/react/src/components/MenuMultiSelect/index.tsx index 6a8d72c..4b8fb87 100644 --- a/categories/multichoice/react/src/components/MenuMultiSelect/index.tsx +++ b/categories/multichoice/react/src/components/MenuMultiSelect/index.tsx @@ -75,7 +75,7 @@ export const MenuMultiSelect = React.forwardRef< return (
( value={tags} classNames={{ input: 'peer bg-transparent', - tag: 'text-xs p-2', + tag: 'text-xs p-2 select-none', }} disabled={disabled} onChange={handleTagsInputChange} @@ -232,7 +232,7 @@ export const TagInput = React.forwardRef( id={labelId} htmlFor={id} className={clsx( - 'absolute z-[1] w-full top-0.5 left-0 pointer-events-none pl-1 text-xxs font-bold peer-disabled:opacity-50 group-focus-within:text-secondary text-primary leading-none bg-negative', + 'absolute z-[1] w-full top-0.5 left-0 pointer-events-none pl-1 text-xxs font-bold peer-disabled:opacity-50 group-focus-within:text-secondary text-primary leading-none bg-negative select-none', { 'sr-only': hiddenLabel, }, @@ -256,7 +256,7 @@ export const TagInput = React.forwardRef(
( {indicator && (
{ @@ -7,6 +7,12 @@ const doCopy = (src: string, dest: string) => { console.log('Copying...'); console.log(`${trueSrc} -> ${trueDest}`); copyFileSync(trueSrc, trueDest); + const packageJsonContents = readFileSync('./package.json', 'utf-8'); + const packageJson = JSON.parse(packageJsonContents); + packageJson.exports[dest] = dest; + const newPackageJsonContents = JSON.stringify(packageJson, null, 2); + console.log('Updating package.json...'); + writeFileSync('./package.json', newPackageJsonContents); console.log('Done'); } diff --git a/showcases/web-kitchensink-reactnext/src/pages/_app.tsx b/showcases/web-kitchensink-reactnext/src/pages/_app.tsx index e00a191..bbf8e32 100644 --- a/showcases/web-kitchensink-reactnext/src/pages/_app.tsx +++ b/showcases/web-kitchensink-reactnext/src/pages/_app.tsx @@ -1,9 +1,12 @@ import '@/styles/globals.css' import '@/styles/kitchen-sink.css' +import '@tesseract-design/web-choice-react/dist/DropdownSelect.css' +import '@tesseract-design/web-choice-react/dist/MenuSelect.css' import '@tesseract-design/web-choice-react/dist/RadioButton.css' import '@tesseract-design/web-choice-react/dist/RadioTickBox.css' +import '@tesseract-design/web-multichoice-react/dist/MenuMultiSelect.css' import '@tesseract-design/web-multichoice-react/dist/TagInput.css' import '@tesseract-design/web-multichoice-react/dist/ToggleButton.css' import '@tesseract-design/web-multichoice-react/dist/ToggleSwitch.css'