@kaizen/components 1.67.7 → 1.67.9

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.
Files changed (59) hide show
  1. package/dist/cjs/ButtonGroup/ButtonGroup.cjs +1 -1
  2. package/dist/cjs/Filter/Filter/Filter.cjs +4 -1
  3. package/dist/cjs/Filter/Filter/Filter.module.css.cjs +6 -0
  4. package/dist/cjs/Filter/FilterBar/FilterBar.cjs +4 -2
  5. package/dist/cjs/Filter/FilterBar/FilterBar.module.css.cjs +8 -0
  6. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.cjs +9 -3
  7. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.module.css.cjs +6 -0
  8. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.cjs +7 -2
  9. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.module.css.cjs +6 -0
  10. package/dist/cjs/Filter/FilterButton/FilterButton/FilterButton.cjs +1 -1
  11. package/dist/cjs/Filter/FilterButton/FilterButton/FilterButton.module.css.cjs +9 -0
  12. package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs +5 -1
  13. package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.module.css.cjs +6 -0
  14. package/dist/cjs/Filter/FilterMultiSelect/FilterMultiSelect.cjs +5 -2
  15. package/dist/cjs/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.cjs +4 -1
  16. package/dist/cjs/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.module.css.cjs +6 -0
  17. package/dist/esm/ButtonGroup/ButtonGroup.mjs +1 -1
  18. package/dist/esm/Filter/Filter/Filter.mjs +3 -1
  19. package/dist/esm/Filter/Filter/Filter.module.css.mjs +4 -0
  20. package/dist/esm/Filter/FilterBar/FilterBar.mjs +4 -2
  21. package/dist/esm/Filter/FilterBar/FilterBar.module.css.mjs +6 -0
  22. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.mjs +8 -3
  23. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.module.css.mjs +4 -0
  24. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.mjs +7 -2
  25. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.module.css.mjs +4 -0
  26. package/dist/esm/Filter/FilterButton/FilterButton/FilterButton.mjs +1 -1
  27. package/dist/esm/Filter/FilterButton/FilterButton/FilterButton.module.css.mjs +7 -0
  28. package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs +4 -1
  29. package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.module.css.mjs +4 -0
  30. package/dist/esm/Filter/FilterMultiSelect/FilterMultiSelect.mjs +5 -2
  31. package/dist/esm/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.mjs +3 -1
  32. package/dist/esm/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.module.css.mjs +4 -0
  33. package/dist/styles.css +112 -78
  34. package/dist/types/Filter/FilterMultiSelect/FilterMultiSelect.d.ts +2 -1
  35. package/package.json +3 -2
  36. package/src/ButtonGroup/ButtonGroup.tsx +4 -1
  37. package/src/Filter/Filter/Filter.module.css +5 -0
  38. package/src/Filter/Filter/Filter.tsx +6 -1
  39. package/src/Filter/FilterBar/FilterBar.module.css +23 -0
  40. package/src/Filter/FilterBar/FilterBar.tsx +15 -13
  41. package/src/Filter/FilterBar/_docs/FilterBar.stories.tsx +5 -0
  42. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.module.css +3 -0
  43. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.tsx +36 -18
  44. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.module.css +5 -0
  45. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.tsx +7 -1
  46. package/src/Filter/FilterButton/FilterButton/FilterButton.module.css +23 -0
  47. package/src/Filter/FilterButton/FilterButton/FilterButton.tsx +1 -1
  48. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.module.css +3 -0
  49. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +10 -1
  50. package/src/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.module.scss +2 -2
  51. package/src/Filter/FilterMultiSelect/FilterMultiSelect.tsx +3 -1
  52. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.module.css +3 -0
  53. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.tsx +6 -1
  54. package/dist/cjs/Filter/FilterBar/FilterBar.module.scss.cjs +0 -7
  55. package/dist/cjs/Filter/FilterButton/FilterButton/FilterButton.module.scss.cjs +0 -9
  56. package/dist/esm/Filter/FilterBar/FilterBar.module.scss.mjs +0 -5
  57. package/dist/esm/Filter/FilterButton/FilterButton/FilterButton.module.scss.mjs +0 -7
  58. package/src/Filter/FilterBar/FilterBar.module.scss +0 -19
  59. package/src/Filter/FilterButton/FilterButton/FilterButton.module.scss +0 -22
package/dist/styles.css CHANGED
@@ -1,33 +1,31 @@
1
1
  @layer tokens, normalize, reset;@layer tokens{:root{--theme-key:heart;--animation-easing-function-ease-in-out:cubic-bezier(0.455,0.03,0.515,0.955);--animation-easing-function-ease-in:cubic-bezier(0.55,0.085,0.68,0.53);--animation-easing-function-ease-out:cubic-bezier(0.25,0.46,0.45,0.94);--animation-easing-function-linear:linear;--animation-easing-function-bounce-in:cubic-bezier(0.485,0.155,0.24,1.245);--animation-easing-function-bounce-out:cubic-bezier(0.485,0.155,0.515,0.845);--animation-easing-function-bounce-in-out:cubic-bezier(0.76,-0.245,0.24,1.245);--animation-duration-instant:0ms;--animation-duration-immediate:100ms;--animation-duration-rapid:200ms;--animation-duration-fast:300ms;--animation-duration-slow:400ms;--animation-duration-deliberate:700ms;--border-solid-border-width:2px;--border-solid-border-radius:7px;--border-solid-border-style:solid;--border-solid-border-color:#e1e2ea;--border-solid-border-color-rgb:225,226,234;--border-dashed-border-width:2px;--border-dashed-border-radius:7px;--border-dashed-border-style:dashed;--border-borderless-border-width:2px;--border-borderless-border-radius:7px;--border-borderless-border-style:solid;--border-borderless-border-color:transparent;--border-borderless-border-color-rgb:0,0,0;--border-focus-ring-border-width:2px;--border-focus-ring-border-radius:10px;--border-focus-ring-border-style:solid;--border-width-1:1px;--color-purple-100:#f4edf8;--color-purple-100-rgb:244,237,248;--color-purple-200:#dfc9ea;--color-purple-200-rgb:223,201,234;--color-purple-300:#c9a5dd;--color-purple-300-rgb:201,165,221;--color-purple-400:#ae67b1;--color-purple-400-rgb:174,103,177;--color-purple-500:#844587;--color-purple-500-rgb:132,69,135;--color-purple-600:#5f3361;--color-purple-600-rgb:95,51,97;--color-purple-700:#4a234d;--color-purple-700-rgb:74,35,77;--color-purple-800:#2f2438;--color-purple-800-rgb:47,36,56;--color-blue-100:#e6f6ff;--color-blue-100-rgb:230,246,255;--color-blue-200:#bde2f5;--color-blue-200-rgb:189,226,245;--color-blue-300:#73c0e8;--color-blue-300-rgb:115,192,232;--color-blue-400:#008bd6;--color-blue-400-rgb:0,139,214;--color-blue-500:#0168b3;--color-blue-500-rgb:1,104,179;--color-blue-600:#004970;--color-blue-600-rgb:0,73,112;--color-blue-700:#003157;--color-blue-700-rgb:0,49,87;--color-green-100:#e8f8f4;--color-green-100-rgb:232,248,244;--color-green-200:#c4ede2;--color-green-200-rgb:196,237,226;--color-green-300:#8fdbc7;--color-green-300-rgb:143,219,199;--color-green-400:#5dcaad;--color-green-400-rgb:93,202,173;--color-green-500:#3f9a86;--color-green-500-rgb:63,154,134;--color-green-600:#2c7d67;--color-green-600-rgb:44,125,103;--color-green-700:#22594a;--color-green-700-rgb:34,89,74;--color-yellow-100:#fff9e4;--color-yellow-100-rgb:255,249,228;--color-yellow-200:#ffeeb3;--color-yellow-200-rgb:255,238,179;--color-yellow-300:#ffe36e;--color-yellow-300-rgb:255,227,110;--color-yellow-400:#ffca4d;--color-yellow-400-rgb:255,202,77;--color-yellow-500:#ffb600;--color-yellow-500-rgb:255,182,0;--color-yellow-600:#c68600;--color-yellow-600-rgb:198,134,0;--color-yellow-700:#876400;--color-yellow-700-rgb:135,100,0;--color-red-100:#fdeaee;--color-red-100-rgb:253,234,238;--color-red-200:#f9c2cb;--color-red-200-rgb:249,194,203;--color-red-300:#f597a8;--color-red-300-rgb:245,151,168;--color-red-400:#e0707d;--color-red-400-rgb:224,112,125;--color-red-500:#c93b55;--color-red-500-rgb:201,59,85;--color-red-600:#a82433;--color-red-600-rgb:168,36,51;--color-red-700:#6c1e20;--color-red-700-rgb:108,30,32;--color-orange-100:#fff0e8;--color-orange-100-rgb:255,240,232;--color-orange-200:#ffd1b9;--color-orange-200-rgb:255,209,185;--color-orange-300:#ffb08a;--color-orange-300-rgb:255,176,138;--color-orange-400:#ff9461;--color-orange-400-rgb:255,148,97;--color-orange-500:#e96c2f;--color-orange-500-rgb:233,108,47;--color-orange-600:#b74302;--color-orange-600-rgb:183,67,2;--color-orange-700:#903c00;--color-orange-700-rgb:144,60,0;--color-gray-100:#f9f9f9;--color-gray-100-rgb:249,249,249;--color-gray-200:#f4f4f5;--color-gray-200-rgb:244,244,245;--color-gray-300:#eaeaec;--color-gray-300-rgb:234,234,236;--color-gray-400:#cdcdd0;--color-gray-400-rgb:205,205,208;--color-gray-500:#878792;--color-gray-500-rgb:135,135,146;--color-gray-600:#524e56;--color-gray-600-rgb:82,78,86;--color-white:#fff;--color-white-rgb:255,255,255;--color-black:#000;--color-black-rgb:0,0,0;--data-viz-favorable:#7dd5bd;--data-viz-favorable-rgb:125,213,189;--data-viz-unfavorable:#e68d97;--data-viz-unfavorable-rgb:230,141,151;--layout-content-max-width:1392px;--layout-content-max-width-with-sidebar:1080px;--layout-content-side-margin:72px;--layout-mobile-actions-drawer-height:60px;--layout-navigation-bar-height:72px;--layout-breakpoints-medium:768px;--layout-breakpoints-large:1080px;--shadow-small-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 3px 16px 0 rgba(0,0,0,.06);--shadow-large-box-shadow:0 3px 9px 0 rgba(0,0,0,.1),0 8px 40px 0 rgba(0,0,0,.08);--spacing-0:0;--spacing-1:.0625rem;--spacing-2:.125rem;--spacing-4:.25rem;--spacing-6:.375rem;--spacing-8:.5rem;--spacing-12:.75rem;--spacing-16:1rem;--spacing-20:1.25rem;--spacing-24:1.5rem;--spacing-32:2rem;--spacing-40:2.5rem;--spacing-48:3rem;--spacing-56:3.5rem;--spacing-64:4rem;--spacing-72:4.5rem;--spacing-80:5rem;--spacing-96:6rem;--spacing-112:7rem;--spacing-128:8rem;--spacing-160:10rem;--spacing-200:12.5rem;--spacing-240:15rem;--spacing-280:17.5rem;--spacing-320:20rem;--spacing-xs:0.375rem;--spacing-sm:0.75rem;--spacing-md:1.5rem;--spacing-lg:2.25rem;--spacing-xl:3rem;--spacing-xxl:3.75rem;--spacing-xxxl:4.5rem;--spacing-xxxxl:5.25rem;--spacing-xxxxxl:6rem;--typography-data-large-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-large-font-weight:700;--typography-data-large-font-size:5.25rem;--typography-data-large-line-height:5.25rem;--typography-data-large-letter-spacing:normal;--typography-data-large-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-large-units-font-weight:700;--typography-data-large-units-font-size:2.625rem;--typography-data-large-units-line-height:5.25rem;--typography-data-large-units-letter-spacing:normal;--typography-data-medium-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-medium-font-weight:700;--typography-data-medium-font-size:3rem;--typography-data-medium-line-height:5rem;--typography-data-medium-letter-spacing:normal;--typography-data-medium-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-medium-units-font-weight:700;--typography-data-medium-units-font-size:1.5rem;--typography-data-medium-units-line-height:5rem;--typography-data-medium-units-letter-spacing:normal;--typography-data-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-small-font-weight:700;--typography-data-small-font-size:1.5rem;--typography-data-small-line-height:1.5rem;--typography-data-small-letter-spacing:normal;--typography-data-small-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-small-units-font-weight:700;--typography-data-small-units-font-size:1.125rem;--typography-data-small-units-line-height:1.5rem;--typography-data-small-units-letter-spacing:normal;--typography-display-0-font-family:"Tiempos Headline",Georgia,serif;--typography-display-0-font-weight:800;--typography-display-0-font-size:4.5rem;--typography-display-0-line-height:5.25rem;--typography-display-0-letter-spacing:0em;--typography-heading-1-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-1-font-weight:500;--typography-heading-1-font-size:2.125rem;--typography-heading-1-line-height:2.625rem;--typography-heading-1-letter-spacing:normal;--typography-heading-2-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-2-font-weight:600;--typography-heading-2-font-size:1.75rem;--typography-heading-2-line-height:2.25rem;--typography-heading-2-letter-spacing:normal;--typography-heading-3-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-3-font-weight:600;--typography-heading-3-font-size:1.375rem;--typography-heading-3-line-height:1.875rem;--typography-heading-3-letter-spacing:normal;--typography-heading-4-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-4-font-weight:600;--typography-heading-4-font-size:1.125rem;--typography-heading-4-line-height:1.5rem;--typography-heading-4-letter-spacing:normal;--typography-heading-5-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-5-font-weight:600;--typography-heading-5-font-size:1rem;--typography-heading-5-line-height:1.5rem;--typography-heading-5-letter-spacing:normal;--typography-heading-6-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-6-font-weight:600;--typography-heading-6-font-size:0.875rem;--typography-heading-6-line-height:1.5rem;--typography-heading-6-letter-spacing:normal;--typography-paragraph-intro-lede-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-intro-lede-font-weight:400;--typography-paragraph-intro-lede-font-size:1.25rem;--typography-paragraph-intro-lede-line-height:1.875rem;--typography-paragraph-intro-lede-letter-spacing:0;--typography-paragraph-intro-lede-max-width:975px;--typography-paragraph-body-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-body-font-weight:400;--typography-paragraph-body-font-size:1rem;--typography-paragraph-body-line-height:1.5rem;--typography-paragraph-body-letter-spacing:normal;--typography-paragraph-body-max-width:780px;--typography-paragraph-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-small-font-weight:400;--typography-paragraph-small-font-size:0.875rem;--typography-paragraph-small-line-height:1.125rem;--typography-paragraph-small-letter-spacing:normal;--typography-paragraph-small-max-width:680px;--typography-paragraph-extra-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-extra-small-font-weight:400;--typography-paragraph-extra-small-font-size:0.75rem;--typography-paragraph-extra-small-line-height:1.125rem;--typography-paragraph-extra-small-letter-spacing:normal;--typography-paragraph-extra-small-max-width:600px;--typography-paragraph-bold-font-weight:600;--typography-button-primary-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-button-primary-font-weight:500;--typography-button-primary-font-size:1.125rem;--typography-button-primary-line-height:1.5rem;--typography-button-primary-letter-spacing:normal;--typography-button-secondary-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-button-secondary-font-weight:500;--typography-button-secondary-font-size:1rem;--typography-button-secondary-line-height:1.5rem;--typography-button-secondary-letter-spacing:normal}}@layer normalize{html{text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}}@layer reset{@font-face{font-family:Tiempos Headline;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-bold.woff)}@font-face{font-family:Tiempos Headline;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-medium.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-medium.woff)}@font-face{font-family:Greycliff CF;font-weight:300;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-light.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:400;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-regular.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-medium.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:600;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-demi-bold.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:700;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-bold.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-extra-bold.woff) format("woff")}@font-face{font-family:Inter;font-weight:300;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-light.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-light.woff)}@font-face{font-family:Inter;font-weight:400;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-regular.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-regular.woff)}@font-face{font-family:Inter;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-medium.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-medium.woff)}@font-face{font-family:Inter;font-weight:600;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-demi-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-demi-bold.woff)}@font-face{font-family:Inter;font-weight:700;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-bold.woff)}@font-face{font-family:Inter;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-extra-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-extra-bold.woff)}@font-face{font-family:IBM Plex Mono;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/ibm-plex-mono/ibm-plex-mono-regular.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/ibm-plex-mono/ibm-plex-mono-regular.woff)}}@layer reset{*,:after,:before{border-color:var(--border-solid-border-color,"currentColor");border-style:solid;border-width:0}}
2
- .Menu-module_menu__iHYqh {
3
- background-color: var(--color-white);
4
- color: var(--color-purple-800);
5
- width: 248px;
6
- max-height: 22rem;
7
- overflow: auto;
8
- padding-block: var(--spacing-6);
9
- outline: none;
10
- border-radius: var(--border-solid-border-radius);
11
- box-shadow: var(--shadow-large-box-shadow);
2
+ /** THIS IS AN AUTOGENERATED FILE **/
3
+ /** THIS IS AN AUTOGENERATED FILE **/
4
+ .OverlayArrow-module_overlayArrow__hoDyK {
5
+ display: flex;
6
+ padding: 8px;
12
7
  }
13
-
14
- .Menu-module_menu__iHYqh .react-aria-Header {
15
- font-family: var(--typography-heading-6-font-family);
16
- font-size: var(--typography-heading-6-font-size);
17
- letter-spacing: var(--typography-heading-6-letter-spacing);
18
- font-weight: var(--typography-heading-6-font-weight);
19
- line-height: var(--typography-heading-6-line-height);
20
- padding: var(--spacing-6) 10px;
21
- margin-inline: var(--spacing-6);
8
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=top], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] {
9
+ padding: 0 8px;
22
10
  }
23
-
24
- .Menu-module_menu__iHYqh section:not(:last-of-type)::after {
25
- width: 100%;
26
- height: 1px;
27
- background-color: var(--border-solid-border-color);
28
- content: "";
29
- display: block;
30
- margin-block: var(--spacing-6);
11
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=left], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] {
12
+ padding: 8px 0;
13
+ }
14
+ .OverlayArrow-module_overlayArrow__hoDyK path {
15
+ fill: var(--color-purple-800, #2f2438);
16
+ box-shadow: var(--shadow-small-box-shadow, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 3px 16px 0 rgba(0, 0, 0, 0.06));
17
+ }
18
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] svg {
19
+ transform: rotate(90deg);
20
+ }
21
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] svg {
22
+ transform: rotate(180deg);
23
+ }
24
+ .OverlayArrow-module_overlayArrow__hoDyK[data-placement=left] svg {
25
+ transform: rotate(270deg);
26
+ }
27
+ .OverlayArrow-module_overlayArrow__hoDyK.OverlayArrow-module_reversed__-WGcR path {
28
+ fill: var(--color-white, #ffffff);
31
29
  }
32
30
  .MenuItem-module_item__DPerF {
33
31
  font-family: var(--typography-paragraph-body-font-family);
@@ -63,6 +61,36 @@
63
61
  .MenuItem-module_item__DPerF[data-disabled] {
64
62
  opacity: 0.3;
65
63
  }
64
+ .Menu-module_menu__iHYqh {
65
+ background-color: var(--color-white);
66
+ color: var(--color-purple-800);
67
+ width: 248px;
68
+ max-height: 22rem;
69
+ overflow: auto;
70
+ padding-block: var(--spacing-6);
71
+ outline: none;
72
+ border-radius: var(--border-solid-border-radius);
73
+ box-shadow: var(--shadow-large-box-shadow);
74
+ }
75
+
76
+ .Menu-module_menu__iHYqh .react-aria-Header {
77
+ font-family: var(--typography-heading-6-font-family);
78
+ font-size: var(--typography-heading-6-font-size);
79
+ letter-spacing: var(--typography-heading-6-letter-spacing);
80
+ font-weight: var(--typography-heading-6-font-weight);
81
+ line-height: var(--typography-heading-6-line-height);
82
+ padding: var(--spacing-6) 10px;
83
+ margin-inline: var(--spacing-6);
84
+ }
85
+
86
+ .Menu-module_menu__iHYqh section:not(:last-of-type)::after {
87
+ width: 100%;
88
+ height: 1px;
89
+ background-color: var(--border-solid-border-color);
90
+ content: "";
91
+ display: block;
92
+ margin-block: var(--spacing-6);
93
+ }
66
94
  .Button-module_button__QOSYH {
67
95
  --button-min-height-width: var(--spacing-48);
68
96
  --button-padding-x: calc(
@@ -210,34 +238,6 @@
210
238
  opacity: 1;
211
239
  }
212
240
  }
213
- /** THIS IS AN AUTOGENERATED FILE **/
214
- /** THIS IS AN AUTOGENERATED FILE **/
215
- .OverlayArrow-module_overlayArrow__hoDyK {
216
- display: flex;
217
- padding: 8px;
218
- }
219
- .OverlayArrow-module_overlayArrow__hoDyK[data-placement=top], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] {
220
- padding: 0 8px;
221
- }
222
- .OverlayArrow-module_overlayArrow__hoDyK[data-placement=left], .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] {
223
- padding: 8px 0;
224
- }
225
- .OverlayArrow-module_overlayArrow__hoDyK path {
226
- fill: var(--color-purple-800, #2f2438);
227
- box-shadow: var(--shadow-small-box-shadow, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 3px 16px 0 rgba(0, 0, 0, 0.06));
228
- }
229
- .OverlayArrow-module_overlayArrow__hoDyK[data-placement=right] svg {
230
- transform: rotate(90deg);
231
- }
232
- .OverlayArrow-module_overlayArrow__hoDyK[data-placement=bottom] svg {
233
- transform: rotate(180deg);
234
- }
235
- .OverlayArrow-module_overlayArrow__hoDyK[data-placement=left] svg {
236
- transform: rotate(270deg);
237
- }
238
- .OverlayArrow-module_overlayArrow__hoDyK.OverlayArrow-module_reversed__-WGcR path {
239
- fill: var(--color-white, #ffffff);
240
- }
241
241
  .Icon-module_icon__CkmHY {
242
242
  font-size: calc(1px * var(--icon-size, 20));
243
243
  font-weight: var(--icon-font-weight, 400);
@@ -1765,7 +1765,7 @@
1765
1765
  position: relative;
1766
1766
  display: inline-flex;
1767
1767
  align-items: center;
1768
- height: 3rem;
1768
+ min-height: 3rem;
1769
1769
  padding: var(--spacing-sm, 0.75rem);
1770
1770
  border-width: 0;
1771
1771
  border-radius: var(--border-solid-border-radius, 7px);
@@ -1776,7 +1776,7 @@
1776
1776
  line-height: var(--typography-button-secondary-line-height, 1.5rem);
1777
1777
  letter-spacing: var(--typography-button-secondary-letter-spacing, normal);
1778
1778
  color: var(--color-blue-500, #0168b3);
1779
- white-space: nowrap;
1779
+ text-align: start;
1780
1780
  }
1781
1781
  .FilterButtonBase-module_filterButtonBase__ImByM:hover, .FilterButtonBase-module_filterButtonBase__ImByM:active {
1782
1782
  z-index: 2;
@@ -4052,6 +4052,12 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4052
4052
  border-radius: var(--border-borderless-border-radius, 7px);
4053
4053
  display: inline-flex;
4054
4054
  }
4055
+ @media (width < 768px) {
4056
+ .Filter-module_filter__u3IkC {
4057
+ flex-basis: 100%;
4058
+ }
4059
+ }
4060
+
4055
4061
  /** THIS IS AN AUTOGENERATED FILE **/
4056
4062
  .FilterContents-module_filterContents__tQWu8 {
4057
4063
  padding: var(--spacing-md, 1.5rem);
@@ -4065,26 +4071,38 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4065
4071
  display: grid;
4066
4072
  gap: var(--spacing-16, 1rem);
4067
4073
  }
4068
- /** THIS IS AN AUTOGENERATED FILE **/
4069
- /** THIS IS AN AUTOGENERATED FILE **/
4070
- .FilterButton-module_filterButton__PEcAs {
4071
- gap: var(--spacing-xs, 0.375rem);
4074
+ .FilterButton-module_filterButton__Fn1OD {
4075
+ gap: var(--spacing-6);
4076
+ justify-content: space-between;
4077
+ }
4078
+
4079
+ @media (width < 768px) {
4080
+ .FilterButton-module_filterButton__Fn1OD {
4081
+ flex-grow: 1;
4082
+ }
4072
4083
  }
4073
4084
 
4074
- .FilterButton-module_labelContainer__kJlE8 {
4085
+ .FilterButton-module_labelContainer__sPAcx {
4075
4086
  display: inline-flex;
4087
+ flex-wrap: wrap;
4076
4088
  }
4077
4089
 
4078
- .FilterButton-module_hasSelectedValues__tc-XE {
4090
+ .FilterButton-module_hasSelectedValues__bHR5g {
4079
4091
  font-weight: bold;
4080
4092
  }
4081
4093
 
4082
- .FilterButton-module_labelSeparator__CmSqS {
4083
- margin-inline-end: var(--spacing-xs, 0.375rem);
4094
+ .FilterButton-module_labelSeparator__KimZO {
4095
+ margin-inline-end: var(--spacing-6);
4084
4096
  }
4085
- [dir=ltr] [dir=rtl] .FilterButton-module_labelSeparator__CmSqS {
4086
- margin-right: 0;
4097
+
4098
+ .FilterButtonRemovable-module_filterButtonBase__V4xk8 {
4099
+ height: 100%;
4100
+ }
4101
+
4102
+ .FilterBarButton-module_filterBarButton__3IF-- {
4103
+ width: 100%;
4087
4104
  }
4105
+
4088
4106
  /** THIS IS AN AUTOGENERATED FILE **/
4089
4107
  .DateRangeDisplayLabel-module_dateRangeDisplayLabel__g7nVd {
4090
4108
  display: inline-flex;
@@ -4374,6 +4392,16 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4374
4392
  .SelectionControlButton-module_button__u-ysH.SelectionControlButton-module_isDisabled__0axMR:focus-visible::after {
4375
4393
  border-color: var(--color-gray-400, #cdcdd0);
4376
4394
  }
4395
+ .RemovableFilterTrigger-module_filterButtonRemovable__-M4wV {
4396
+ width: 100%;
4397
+ }
4398
+
4399
+ @media (width < 768px) {
4400
+ .FilterBarMultiSelect-module_filterMultiSelect__a4enz {
4401
+ flex-basis: 100%;
4402
+ }
4403
+ }
4404
+
4377
4405
  .ListBox-module_listBox__Uf6Mc {
4378
4406
  list-style: none;
4379
4407
  margin-top: 0;
@@ -4623,24 +4651,30 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
4623
4651
  .ClearAllButton-module_clearAllButton__XNkm2 {
4624
4652
  white-space: nowrap;
4625
4653
  }
4626
- /** THIS IS AN AUTOGENERATED FILE **/
4627
- /** THIS IS AN AUTOGENERATED FILE **/
4628
- /** THIS IS AN AUTOGENERATED FILE **/
4629
- /** THIS IS AN AUTOGENERATED FILE **/
4630
- .FilterBar-module_filterBar__ZhQLn {
4654
+ .FilterBar-module_wrapper__D8GXq {
4655
+ container: filter-bar-wrapper / inline-size;
4656
+ }
4657
+
4658
+ .FilterBar-module_filterBar__JEVKL {
4631
4659
  display: flex;
4632
- padding: var(--spacing-8, 0.5rem);
4633
- box-shadow: var(--shadow-small-box-shadow, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 3px 16px 0 rgba(0, 0, 0, 0.06));
4634
- border-radius: var(--border-solid-border-radius, 7px);
4635
- background-color: var(--color-white, #ffffff);
4660
+ padding: var(--spacing-8);
4661
+ border-radius: var(--border-solid-border-radius);
4662
+ background-color: var(--color-white);
4636
4663
  }
4637
4664
 
4638
- .FilterBar-module_filtersContainer__v6OJn {
4665
+ @media (width < 768px) {
4666
+ .FilterBar-module_filterBar__JEVKL {
4667
+ flex-direction: column;
4668
+ }
4669
+ }
4670
+
4671
+ .FilterBar-module_filtersContainer__Xl-DO {
4639
4672
  display: flex;
4640
4673
  flex-grow: 1;
4641
4674
  flex-wrap: wrap;
4642
- gap: var(--spacing-8, 0.5rem);
4675
+ gap: var(--spacing-8);
4643
4676
  }
4677
+
4644
4678
  /** THIS IS AN AUTOGENERATED FILE **/
4645
4679
  /** THIS IS AN AUTOGENERATED FILE **/
4646
4680
  /** THIS IS AN AUTOGENERATED FILE **/
@@ -16,9 +16,10 @@ export type FilterMultiSelectProps = {
16
16
  trigger: (value?: MenuTriggerProviderContextType) => React.ReactNode;
17
17
  children: (value?: SelectionProviderContextType) => React.ReactNode;
18
18
  triggerRef?: React.RefObject<HTMLButtonElement>;
19
+ className?: string;
19
20
  } & Omit<MenuPopupProps, "children"> & Omit<MenuTriggerProviderProps, "children"> & SelectionProps;
20
21
  export declare const FilterMultiSelect: {
21
- ({ trigger, children, isOpen, defaultOpen, onOpenChange, isLoading, loadingSkeleton, label, items, selectedKeys, defaultSelectedKeys, onSelectionChange, selectionMode, onSearchInputChange, triggerRef, }: FilterMultiSelectProps): JSX.Element;
22
+ ({ trigger, children, isOpen, defaultOpen, onOpenChange, isLoading, loadingSkeleton, label, items, selectedKeys, defaultSelectedKeys, onSelectionChange, selectionMode, onSearchInputChange, triggerRef, className, }: FilterMultiSelectProps): JSX.Element;
22
23
  displayName: string;
23
24
  TriggerButton: {
24
25
  ({ selectedOptionLabels, label, classNameOverride, labelCharacterLimitBeforeTruncate, }: import("./subcomponents/Trigger").FilterTriggerButtonProps): JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaizen/components",
3
- "version": "1.67.7",
3
+ "version": "1.67.9",
4
4
  "description": "Kaizen component library",
5
5
  "author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
6
6
  "homepage": "https://cultureamp.design",
@@ -113,7 +113,7 @@
113
113
  "react-highlight": "^0.15.0",
114
114
  "react-intl": "^6.8.4",
115
115
  "rollup": "^4.24.2",
116
- "sass": "^1.77.8",
116
+ "sass": "1.79.6",
117
117
  "serialize-query-params": "^2.0.2",
118
118
  "svgo": "^3.3.2",
119
119
  "tslib": "^2.8.0",
@@ -122,6 +122,7 @@
122
122
  "@kaizen/design-tokens": "10.8.1"
123
123
  },
124
124
  "devDependenciesComments": {
125
+ "sass": "Prevent deprecation warnings introduced in 1.80 as we plan to move away from sass",
125
126
  "typescript": "Installed in root"
126
127
  },
127
128
  "peerDependencies": {
@@ -50,7 +50,10 @@ export const ButtonGroup = ({
50
50
  if (isFilterButton(button)) {
51
51
  return React.cloneElement(child, {
52
52
  children: React.cloneElement(button, {
53
- classNameOverride: buttonClassNames,
53
+ classNameOverride: classnames(
54
+ button.props.classNameOverride,
55
+ buttonClassNames
56
+ ),
54
57
  }),
55
58
  })
56
59
  }
@@ -0,0 +1,5 @@
1
+ @media (width < 768px) {
2
+ .filter {
3
+ flex-basis: 100%;
4
+ }
5
+ }
@@ -5,10 +5,12 @@ import React, {
5
5
  useRef,
6
6
  useState,
7
7
  } from "react"
8
+ import classnames from "classnames"
8
9
  import { FocusOn } from "react-focus-on"
9
10
  import { OverrideClassName } from "~components/types/OverrideClassName"
10
11
  import { FilterPopover } from "./subcomponents/FilterPopover"
11
12
  import { FilterTriggerRef } from "./types"
13
+ import styles from "./Filter.module.css"
12
14
 
13
15
  export type FilterProps = {
14
16
  children: React.ReactNode
@@ -54,7 +56,10 @@ export const Filter = ({
54
56
  }, [filterButtonRef.current?.triggerRef?.current, onMount])
55
57
 
56
58
  return (
57
- <div className={classNameOverride} {...restProps}>
59
+ <div
60
+ className={classnames(styles.filter, classNameOverride)}
61
+ {...restProps}
62
+ >
58
63
  {React.cloneElement(trigger, {
59
64
  ref: filterButtonRef,
60
65
  })}
@@ -0,0 +1,23 @@
1
+ .wrapper {
2
+ container: filter-bar-wrapper / inline-size;
3
+ }
4
+
5
+ .filterBar {
6
+ display: flex;
7
+ padding: var(--spacing-8);
8
+ border-radius: var(--border-solid-border-radius);
9
+ background-color: var(--color-white);
10
+ }
11
+
12
+ @media (width < 768px) {
13
+ .filterBar {
14
+ flex-direction: column;
15
+ }
16
+ }
17
+
18
+ .filtersContainer {
19
+ display: flex;
20
+ flex-grow: 1;
21
+ flex-wrap: wrap;
22
+ gap: var(--spacing-8);
23
+ }
@@ -14,7 +14,7 @@ import {
14
14
  import { AddFiltersMenu } from "./subcomponents/AddFiltersMenu"
15
15
  import { ClearAllButton } from "./subcomponents/ClearAllButton"
16
16
  import { FiltersValues } from "./types"
17
- import styles from "./FilterBar.module.scss"
17
+ import styles from "./FilterBar.module.css"
18
18
 
19
19
  export type FilterBarProps<ValuesMap extends FiltersValues> = OverrideClassName<
20
20
  Omit<FilterBarProviderProps<ValuesMap>, "children">
@@ -27,19 +27,21 @@ export const FilterBar = <ValuesMap extends FiltersValues>({
27
27
  }: FilterBarProps<ValuesMap>): JSX.Element => (
28
28
  <FilterBarProvider<ValuesMap> filters={filters} {...providerProps}>
29
29
  {(activeFilters): JSX.Element => (
30
- <div className={classnames(styles.filterBar, classNameOverride)}>
31
- <div className={styles.filtersContainer}>
32
- {Object.values(activeFilters).map(({ id, Component }) => (
33
- // `id` will always be `string`, but keyof ValuesMap transformed it
34
- <React.Fragment key={id as string}>
35
- {React.cloneElement(Component, { id })}
36
- </React.Fragment>
37
- ))}
38
- <AddFiltersMenu />
39
- </div>
30
+ <div className={styles.wrapper}>
31
+ <div className={classnames(styles.filterBar, classNameOverride)}>
32
+ <div className={styles.filtersContainer}>
33
+ {Object.values(activeFilters).map(({ id, Component }) => (
34
+ // `id` will always be `string`, but keyof ValuesMap transformed it
35
+ <React.Fragment key={id as string}>
36
+ {React.cloneElement(Component, { id })}
37
+ </React.Fragment>
38
+ ))}
39
+ <AddFiltersMenu />
40
+ </div>
40
41
 
41
- <div>
42
- <ClearAllButton />
42
+ <div>
43
+ <ClearAllButton />
44
+ </div>
43
45
  </div>
44
46
  </div>
45
47
  )}
@@ -152,6 +152,11 @@ const filters = [
152
152
  { value: "none", label: "None" },
153
153
  { value: "pearls", label: "Pearls" },
154
154
  { value: "fruit-jelly", label: "Fruit Jelly" },
155
+ { value: "peanuts", label: "Peanuts" },
156
+ { value: "coconut", label: "Coconut" },
157
+ { value: "aloe", label: "Aloe Vera" },
158
+ { value: "mochi", label: "Mini Mochi" },
159
+ { value: "popping-pearls", label: "Popping Pearls" },
155
160
  ]}
156
161
  >
157
162
  {(): JSX.Element => (
@@ -0,0 +1,3 @@
1
+ .filterBarButton {
2
+ width: 100%;
3
+ }
@@ -1,4 +1,5 @@
1
1
  import React, { forwardRef, useEffect } from "react"
2
+ import classnames from "classnames"
2
3
  import { FilterTriggerRef } from "~components/Filter/Filter"
3
4
  import { useFilterBarContext } from "~components/Filter/FilterBar/context/FilterBarContext"
4
5
  import {
@@ -7,6 +8,7 @@ import {
7
8
  FilterButtonRemovable,
8
9
  } from "~components/Filter/FilterButton"
9
10
  import { isRefObject } from "~components/utils/isRefObject"
11
+ import styles from "./FilterBarButton.module.css"
10
12
 
11
13
  export type FilterBarButtonProps = FilterButtonProps & {
12
14
  filterId: string
@@ -16,25 +18,41 @@ export type FilterBarButtonProps = FilterButtonProps & {
16
18
  export const FilterBarButton = forwardRef<
17
19
  FilterTriggerRef,
18
20
  FilterBarButtonProps
19
- >(({ filterId, isRemovable = false, ...props }, ref): JSX.Element => {
20
- const { hideFilter, focusId, setFocus } = useFilterBarContext()
21
+ >(
22
+ (
23
+ { filterId, isRemovable = false, classNameOverride, ...props },
24
+ ref
25
+ ): JSX.Element => {
26
+ const { hideFilter, focusId, setFocus } = useFilterBarContext()
21
27
 
22
- useEffect(() => {
23
- if (focusId === filterId && isRefObject(ref)) {
24
- ref?.current?.triggerRef?.current?.focus()
25
- setFocus(undefined)
26
- }
27
- }, [focusId])
28
+ useEffect(() => {
29
+ if (focusId === filterId && isRefObject(ref)) {
30
+ ref?.current?.triggerRef?.current?.focus()
31
+ setFocus(undefined)
32
+ }
33
+ }, [focusId])
28
34
 
29
- return isRemovable ? (
30
- <FilterButtonRemovable
31
- ref={ref}
32
- triggerButtonProps={props}
33
- removeButtonProps={{ onClick: () => hideFilter(filterId) }}
34
- />
35
- ) : (
36
- <FilterButton ref={ref} {...props} />
37
- )
38
- })
35
+ return isRemovable ? (
36
+ <FilterButtonRemovable
37
+ ref={ref}
38
+ triggerButtonProps={props}
39
+ removeButtonProps={{ onClick: () => hideFilter(filterId) }}
40
+ classNameOverride={classnames(
41
+ classNameOverride,
42
+ styles.filterBarButton
43
+ )}
44
+ />
45
+ ) : (
46
+ <FilterButton
47
+ ref={ref}
48
+ classNameOverride={classnames(
49
+ classNameOverride,
50
+ styles.filterBarButton
51
+ )}
52
+ {...props}
53
+ />
54
+ )
55
+ }
56
+ )
39
57
 
40
58
  FilterBarButton.displayName = "FilterBar.Button"
@@ -0,0 +1,5 @@
1
+ @media (width < 768px) {
2
+ .filterMultiSelect {
3
+ flex-basis: 100%;
4
+ }
5
+ }
@@ -8,6 +8,7 @@ import {
8
8
  } from "~components/Filter/FilterMultiSelect"
9
9
  import { useFilterBarContext } from "../../context/FilterBarContext"
10
10
  import { checkArraysMatch } from "../../utils/checkArraysMatch"
11
+ import styles from "./FilterBarMultiSelect.module.css"
11
12
 
12
13
  export type FilterBarMultiSelectProps = Omit<
13
14
  FilterMultiSelectProps,
@@ -97,6 +98,7 @@ export const FilterBarMultiSelect = ({
97
98
  items={items}
98
99
  isOpen={filterState.isOpen}
99
100
  onOpenChange={(open): void => setFilterOpenState(id, open)}
101
+ className={styles.filterMultiSelect}
100
102
  trigger={(): JSX.Element => {
101
103
  const triggerProps = {
102
104
  selectedOptionLabels: filterState.value
@@ -112,9 +114,13 @@ export const FilterBarMultiSelect = ({
112
114
  <FilterMultiSelect.RemovableTrigger
113
115
  {...triggerProps}
114
116
  onRemove={() => hideFilter(id)}
117
+ classNameOverride={styles.triggerButton}
115
118
  />
116
119
  ) : (
117
- <FilterMultiSelect.TriggerButton {...triggerProps} />
120
+ <FilterMultiSelect.TriggerButton
121
+ classNameOverride={styles.triggerButton}
122
+ {...triggerProps}
123
+ />
118
124
  )
119
125
  }}
120
126
  triggerRef={buttonRef}
@@ -0,0 +1,23 @@
1
+ .filterButton {
2
+ gap: var(--spacing-6);
3
+ justify-content: space-between;
4
+ }
5
+
6
+ @media (width < 768px) {
7
+ .filterButton {
8
+ flex-grow: 1;
9
+ }
10
+ }
11
+
12
+ .labelContainer {
13
+ display: inline-flex;
14
+ flex-wrap: wrap;
15
+ }
16
+
17
+ .hasSelectedValues {
18
+ font-weight: bold;
19
+ }
20
+
21
+ .labelSeparator {
22
+ margin-inline-end: var(--spacing-6);
23
+ }
@@ -7,7 +7,7 @@ import {
7
7
  FilterButtonBase,
8
8
  FilterButtonBaseProps,
9
9
  } from "../subcomponents/FilterButtonBase"
10
- import styles from "./FilterButton.module.scss"
10
+ import styles from "./FilterButton.module.css"
11
11
 
12
12
  export type FilterButtonProps = {
13
13
  label: string
@@ -0,0 +1,3 @@
1
+ .filterButtonBase {
2
+ height: 100%;
3
+ }
@@ -1,5 +1,6 @@
1
1
  import React, { forwardRef } from "react"
2
2
  import { useIntl } from "@cultureamp/i18n-react-intl"
3
+ import classnames from "classnames"
3
4
  import { ButtonGroup, ButtonGroupProps } from "~components/ButtonGroup"
4
5
  import { FilterTriggerRef } from "~components/Filter/Filter"
5
6
  import { Icon } from "~components/__future__/Icon"
@@ -11,6 +12,7 @@ import {
11
12
  FilterButtonBase,
12
13
  FilterButtonBaseProps,
13
14
  } from "../subcomponents/FilterButtonBase"
15
+ import styles from "./FilterButtonRemovable.module.css"
14
16
 
15
17
  export type FilterButtonRemovableProps = {
16
18
  triggerButtonProps: FilterButtonProps & DataAttributes
@@ -49,7 +51,14 @@ export const FilterButtonRemovable = forwardRef<
49
51
  <ButtonGroup {...restProps}>
50
52
  <FilterButton ref={ref} {...triggerButtonProps} />
51
53
  <Tooltip text={removeButtonLabel} display="inline-block" position="below">
52
- <FilterButtonBase ref={removeButtonRef} {...removeButtonProps}>
54
+ <FilterButtonBase
55
+ ref={removeButtonRef}
56
+ classNameOverride={classnames(
57
+ styles.filterButtonBase,
58
+ restProps.classNameOverride
59
+ )}
60
+ {...removeButtonProps}
61
+ >
53
62
  <Icon name="cancel" alt={removeButtonLabel} isFilled />
54
63
  </FilterButtonBase>
55
64
  </Tooltip>