@salt-ds/lab 1.0.0-alpha.30 → 1.0.0-alpha.32

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 (147) hide show
  1. package/css/salt-lab.css +126 -176
  2. package/dist-cjs/app-header/AppHeader.css.js +1 -1
  3. package/dist-cjs/combo-box-next/ComboBoxNext.js +286 -291
  4. package/dist-cjs/combo-box-next/ComboBoxNext.js.map +1 -1
  5. package/dist-cjs/combo-box-next/useComboBoxNext.js +21 -9
  6. package/dist-cjs/combo-box-next/useComboBoxNext.js.map +1 -1
  7. package/dist-cjs/content-status/internal/StatusIndicator.js +1 -3
  8. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  9. package/dist-cjs/dialog/Dialog.css.js +1 -1
  10. package/dist-cjs/dialog/Dialog.js +70 -48
  11. package/dist-cjs/dialog/Dialog.js.map +1 -1
  12. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  13. package/dist-cjs/dialog/DialogContent.css.js +1 -1
  14. package/dist-cjs/dialog/DialogContent.js +17 -8
  15. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  16. package/dist-cjs/dialog/DialogContext.js +4 -1
  17. package/dist-cjs/dialog/DialogContext.js.map +1 -1
  18. package/dist-cjs/dialog/DialogTitle.css.js +1 -1
  19. package/dist-cjs/dialog/DialogTitle.js +21 -8
  20. package/dist-cjs/dialog/DialogTitle.js.map +1 -1
  21. package/dist-cjs/drawer/Drawer.css.js +1 -1
  22. package/dist-cjs/drawer/Drawer.js +61 -36
  23. package/dist-cjs/drawer/Drawer.js.map +1 -1
  24. package/dist-cjs/drawer/DrawerCloseButton.css.js +6 -0
  25. package/dist-cjs/drawer/DrawerCloseButton.css.js.map +1 -0
  26. package/dist-cjs/drawer/DrawerCloseButton.js +44 -0
  27. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -0
  28. package/dist-cjs/dropdown-next/DropdownNext.js +294 -308
  29. package/dist-cjs/dropdown-next/DropdownNext.js.map +1 -1
  30. package/dist-cjs/index.js +3 -9
  31. package/dist-cjs/index.js.map +1 -1
  32. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  33. package/dist-cjs/list-control/ListControlState.js +21 -20
  34. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  35. package/dist-cjs/option/Option.js +0 -4
  36. package/dist-cjs/option/Option.js.map +1 -1
  37. package/dist-cjs/option/OptionList.css.js +1 -1
  38. package/dist-cjs/parent-child-layout/ParentChildLayout.css.js +1 -1
  39. package/dist-cjs/parent-child-layout/ParentChildLayout.js +30 -38
  40. package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
  41. package/dist-cjs/slider/Slider.css.js +1 -1
  42. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js +1 -1
  43. package/dist-cjs/tabs-next/TabNext.css.js +1 -1
  44. package/dist-cjs/tabs-next/TabstripNext.css.js +1 -1
  45. package/dist-es/app-header/AppHeader.css.js +1 -1
  46. package/dist-es/combo-box-next/ComboBoxNext.js +287 -292
  47. package/dist-es/combo-box-next/ComboBoxNext.js.map +1 -1
  48. package/dist-es/combo-box-next/useComboBoxNext.js +21 -9
  49. package/dist-es/combo-box-next/useComboBoxNext.js.map +1 -1
  50. package/dist-es/content-status/internal/StatusIndicator.js +1 -3
  51. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  52. package/dist-es/dialog/Dialog.css.js +1 -1
  53. package/dist-es/dialog/Dialog.js +73 -52
  54. package/dist-es/dialog/Dialog.js.map +1 -1
  55. package/dist-es/dialog/DialogActions.js.map +1 -1
  56. package/dist-es/dialog/DialogContent.css.js +1 -1
  57. package/dist-es/dialog/DialogContent.js +19 -10
  58. package/dist-es/dialog/DialogContent.js.map +1 -1
  59. package/dist-es/dialog/DialogContext.js +4 -1
  60. package/dist-es/dialog/DialogContext.js.map +1 -1
  61. package/dist-es/dialog/DialogTitle.css.js +1 -1
  62. package/dist-es/dialog/DialogTitle.js +22 -9
  63. package/dist-es/dialog/DialogTitle.js.map +1 -1
  64. package/dist-es/drawer/Drawer.css.js +1 -1
  65. package/dist-es/drawer/Drawer.js +65 -39
  66. package/dist-es/drawer/Drawer.js.map +1 -1
  67. package/dist-es/drawer/DrawerCloseButton.css.js +4 -0
  68. package/dist-es/drawer/DrawerCloseButton.css.js.map +1 -0
  69. package/dist-es/drawer/DrawerCloseButton.js +36 -0
  70. package/dist-es/drawer/DrawerCloseButton.js.map +1 -0
  71. package/dist-es/dropdown-next/DropdownNext.js +295 -309
  72. package/dist-es/dropdown-next/DropdownNext.js.map +1 -1
  73. package/dist-es/index.js +3 -6
  74. package/dist-es/index.js.map +1 -1
  75. package/dist-es/list-control/ListControlContext.js.map +1 -1
  76. package/dist-es/list-control/ListControlState.js +21 -20
  77. package/dist-es/list-control/ListControlState.js.map +1 -1
  78. package/dist-es/option/Option.js +0 -4
  79. package/dist-es/option/Option.js.map +1 -1
  80. package/dist-es/option/OptionList.css.js +1 -1
  81. package/dist-es/parent-child-layout/ParentChildLayout.css.js +1 -1
  82. package/dist-es/parent-child-layout/ParentChildLayout.js +32 -40
  83. package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
  84. package/dist-es/slider/Slider.css.js +1 -1
  85. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js +1 -1
  86. package/dist-es/tabs-next/TabNext.css.js +1 -1
  87. package/dist-es/tabs-next/TabstripNext.css.js +1 -1
  88. package/dist-types/combo-box-next/ComboBoxNext.d.ts +13 -3
  89. package/dist-types/combo-box-next/useComboBoxNext.d.ts +13 -16
  90. package/dist-types/content-status/internal/StatusIndicator.d.ts +1 -1
  91. package/dist-types/dialog/Dialog.d.ts +25 -2
  92. package/dist-types/dialog/DialogContext.d.ts +2 -2
  93. package/dist-types/dialog/DialogTitle.d.ts +19 -5
  94. package/dist-types/drawer/Drawer.d.ts +13 -7
  95. package/dist-types/drawer/DrawerCloseButton.d.ts +2 -0
  96. package/dist-types/drawer/index.d.ts +1 -1
  97. package/dist-types/dropdown-next/DropdownNext.d.ts +13 -3
  98. package/dist-types/index.d.ts +0 -2
  99. package/dist-types/list-control/ListControlContext.d.ts +12 -11
  100. package/dist-types/list-control/ListControlState.d.ts +21 -21
  101. package/dist-types/option/Option.d.ts +1 -1
  102. package/dist-types/parent-child-layout/ParentChildLayout.d.ts +8 -13
  103. package/package.json +2 -2
  104. package/dist-cjs/dialog/useDialog.js +0 -31
  105. package/dist-cjs/dialog/useDialog.js.map +0 -1
  106. package/dist-cjs/drawer/useDrawer.js +0 -31
  107. package/dist-cjs/drawer/useDrawer.js.map +0 -1
  108. package/dist-cjs/parent-child-item/ParentChildItem.css.js +0 -6
  109. package/dist-cjs/parent-child-item/ParentChildItem.css.js.map +0 -1
  110. package/dist-cjs/parent-child-item/ParentChildItem.js +0 -48
  111. package/dist-cjs/parent-child-item/ParentChildItem.js.map +0 -1
  112. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +0 -6
  113. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js.map +0 -1
  114. package/dist-cjs/progress/CircularProgress/CircularProgress.js +0 -89
  115. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +0 -1
  116. package/dist-cjs/progress/Info.js +0 -20
  117. package/dist-cjs/progress/Info.js.map +0 -1
  118. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +0 -6
  119. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js.map +0 -1
  120. package/dist-cjs/progress/LinearProgress/LinearProgress.js +0 -63
  121. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +0 -1
  122. package/dist-es/dialog/useDialog.js +0 -27
  123. package/dist-es/dialog/useDialog.js.map +0 -1
  124. package/dist-es/drawer/useDrawer.js +0 -27
  125. package/dist-es/drawer/useDrawer.js.map +0 -1
  126. package/dist-es/parent-child-item/ParentChildItem.css.js +0 -4
  127. package/dist-es/parent-child-item/ParentChildItem.css.js.map +0 -1
  128. package/dist-es/parent-child-item/ParentChildItem.js +0 -44
  129. package/dist-es/parent-child-item/ParentChildItem.js.map +0 -1
  130. package/dist-es/progress/CircularProgress/CircularProgress.css.js +0 -4
  131. package/dist-es/progress/CircularProgress/CircularProgress.css.js.map +0 -1
  132. package/dist-es/progress/CircularProgress/CircularProgress.js +0 -85
  133. package/dist-es/progress/CircularProgress/CircularProgress.js.map +0 -1
  134. package/dist-es/progress/Info.js +0 -16
  135. package/dist-es/progress/Info.js.map +0 -1
  136. package/dist-es/progress/LinearProgress/LinearProgress.css.js +0 -4
  137. package/dist-es/progress/LinearProgress/LinearProgress.css.js.map +0 -1
  138. package/dist-es/progress/LinearProgress/LinearProgress.js +0 -59
  139. package/dist-es/progress/LinearProgress/LinearProgress.js.map +0 -1
  140. package/dist-types/dialog/useDialog.d.ts +0 -25
  141. package/dist-types/drawer/useDrawer.d.ts +0 -25
  142. package/dist-types/parent-child-item/ParentChildItem.d.ts +0 -31
  143. package/dist-types/parent-child-item/index.d.ts +0 -1
  144. package/dist-types/progress/CircularProgress/CircularProgress.d.ts +0 -25
  145. package/dist-types/progress/Info.d.ts +0 -6
  146. package/dist-types/progress/LinearProgress/LinearProgress.d.ts +0 -26
  147. package/dist-types/progress/index.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"DialogTitle.js","sources":["../src/dialog/DialogTitle.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef } from \"react\";\nimport clsx from \"clsx\";\nimport {\n H2,\n StatusIndicator,\n ValidationStatus,\n makePrefixer,\n} from \"@salt-ds/core\";\nimport { useDialogContext } from \"./DialogContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport dialogTitleCss from \"./DialogTitle.css\";\n\nconst withBaseName = makePrefixer(\"saltDialogTitle\");\n\ninterface DialogTitleProps extends ComponentPropsWithoutRef<\"h2\"> {\n status?: ValidationStatus;\n accent?: boolean;\n}\n\nexport const DialogTitle = ({\n children,\n className,\n accent,\n status: statusProp,\n ...rest\n}: DialogTitleProps) => {\n const { dialogId, status: statusContext } = useDialogContext();\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dialog-title\",\n css: dialogTitleCss,\n window: targetWindow,\n });\n\n const status = statusProp || statusContext;\n\n return (\n <H2\n id={`${dialogId!}-heading`}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"withAccent\")]: accent && !status,\n [withBaseName(status!)]: !!status,\n },\n className\n )}\n {...rest}\n >\n {status && <StatusIndicator status={status} />}\n {children}\n </H2>\n );\n};\n"],"names":["dialogTitleCss"],"mappings":";;;;;;;;AAaA,MAAM,YAAA,GAAe,aAAa,iBAAiB,CAAA,CAAA;AAO5C,MAAM,cAAc,CAAC;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAQ,EAAA,UAAA;AAAA,EACL,GAAA,IAAA;AACL,CAAwB,KAAA;AACtB,EAAA,MAAM,EAAE,QAAA,EAAU,MAAQ,EAAA,aAAA,KAAkB,gBAAiB,EAAA,CAAA;AAC7D,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,SAAS,UAAc,IAAA,aAAA,CAAA;AAE7B,EAAA,uBACG,IAAA,CAAA,EAAA,EAAA;AAAA,IACC,IAAI,CAAG,EAAA,QAAA,CAAA,QAAA,CAAA;AAAA,IACP,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAA,CAAa,YAAY,CAAA,GAAI,UAAU,CAAC,MAAA;AAAA,QACzC,CAAC,YAAA,CAAa,MAAO,CAAA,GAAI,CAAC,CAAC,MAAA;AAAA,OAC7B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,MAAA,oBAAW,GAAA,CAAA,eAAA,EAAA;AAAA,QAAgB,MAAA;AAAA,OAAgB,CAAA;AAAA,MAC3C,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"DialogTitle.js","sources":["../src/dialog/DialogTitle.tsx"],"sourcesContent":["import { ReactNode, ComponentPropsWithoutRef } from \"react\";\nimport clsx from \"clsx\";\nimport {\n H2,\n StatusIndicator,\n ValidationStatus,\n makePrefixer,\n Text,\n} from \"@salt-ds/core\";\nimport { useDialogContext } from \"./DialogContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport dialogTitleCss from \"./DialogTitle.css\";\n\nconst withBaseName = makePrefixer(\"saltDialogTitle\");\n\ninterface DialogTitleProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"title\"> {\n /**\n * The status of the Dialog\n */\n status?: ValidationStatus | undefined;\n /**\n * Displays the accent bar in the Dialog Title */\n disableAccent?: boolean;\n /**\n * Displays the Dialog Title in a H2 component\n */\n title: ReactNode;\n /**\n * Displays the Dialog Subtitle in a Label component\n **/\n subtitle?: ReactNode;\n\n className?: string;\n}\n\nexport const DialogTitle = ({\n className,\n title,\n subtitle,\n disableAccent,\n status: statusProp,\n ...rest\n}: DialogTitleProps) => {\n const { status: statusContext, id } = useDialogContext();\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dialog-title\",\n css: dialogTitleCss,\n window: targetWindow,\n });\n\n const status = statusProp ?? (statusContext as ValidationStatus);\n\n return (\n <div\n id={id as string}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"withAccent\")]: !disableAccent && !status,\n [withBaseName(status)]: !!status,\n },\n className\n )}\n {...rest}\n >\n {status && <StatusIndicator status={status} />}\n <div>\n {subtitle && (\n <Text as={\"label\"} variant=\"secondary\">\n {subtitle}\n </Text>\n )}\n <H2 className={clsx(withBaseName(\"title\"))}>{title}</H2>\n </div>\n </div>\n );\n};\n"],"names":["dialogTitleCss"],"mappings":";;;;;;;;AAcA,MAAM,YAAA,GAAe,aAAa,iBAAiB,CAAA,CAAA;AAuB5C,MAAM,cAAc,CAAC;AAAA,EAC1B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,MAAQ,EAAA,UAAA;AAAA,EACL,GAAA,IAAA;AACL,CAAwB,KAAA;AACtB,EAAA,MAAM,EAAE,MAAA,EAAQ,aAAe,EAAA,EAAA,KAAO,gBAAiB,EAAA,CAAA;AACvD,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,SAAS,UAAe,IAAA,IAAA,GAAA,UAAA,GAAA,aAAA,CAAA;AAE9B,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACC,EAAA;AAAA,IACA,SAAW,EAAA,IAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,CAAC,iBAAiB,CAAC,MAAA;AAAA,QACjD,CAAC,YAAA,CAAa,MAAM,CAAA,GAAI,CAAC,CAAC,MAAA;AAAA,OAC5B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,MAAA,oBAAW,GAAA,CAAA,eAAA,EAAA;AAAA,QAAgB,MAAA;AAAA,OAAgB,CAAA;AAAA,sBAC3C,IAAA,CAAA,KAAA,EAAA;AAAA,QACE,QAAA,EAAA;AAAA,UAAA,QAAA,oBACE,GAAA,CAAA,IAAA,EAAA;AAAA,YAAK,EAAI,EAAA,OAAA;AAAA,YAAS,OAAQ,EAAA,WAAA;AAAA,YACxB,QAAA,EAAA,QAAA;AAAA,WACH,CAAA;AAAA,0BAED,GAAA,CAAA,EAAA,EAAA;AAAA,YAAG,SAAW,EAAA,IAAA,CAAK,YAAa,CAAA,OAAO,CAAC,CAAA;AAAA,YAAI,QAAA,EAAA,KAAA;AAAA,WAAM,CAAA;AAAA,SAAA;AAAA,OACrD,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +1,4 @@
1
- var css_248z = "/* Styles applied to Drawer component */\n.saltDrawer {\n background: var(--drawer-background);\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 100%;\n overflow: auto;\n padding: var(--salt-spacing-300);\n box-shadow: var(--salt-overlayable-shadow-modal);\n z-index: calc(var(--salt-zIndex-appHeader) - 1);\n position: fixed;\n top: 0;\n}\n\n.saltDrawer-overlay {\n background: var(--salt-overlayable-background);\n z-index: var(--salt-zIndex-drawer);\n}\n\n/* Styles applied when variant = \"primary\" */\n.saltDrawer-primary {\n --drawer-background: var(--salt-container-primary-background);\n}\n\n/* Styles applied when variant = \"secondary\" */\n.saltDrawer-secondary {\n --drawer-background: var(--salt-container-secondary-background);\n}\n\n/* Styles applied when position = \"top\" */\n.saltDrawer-top {\n left: 0;\n right: 0;\n bottom: auto;\n}\n\n/* Styles applied when position = \"top\" and the component mounts */\n.saltDrawer-top.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-bottom);\n}\n\n/* Styles applied when position = \"top\" and the component unmounts */\n.saltDrawer-top.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-bottom);\n}\n\n/* Styles applied when position = \"right\" or position = \"left\" */\n.saltDrawer-right,\n.saltDrawer-left {\n width: calc(10 * var(--salt-size-base));\n}\n\n/* Styles applied when position = \"right\" */\n.saltDrawer-right {\n left: auto;\n right: 0;\n height: 100%;\n}\n\n/* Styles applied when position = \"right\" and the component mounts */\n.saltDrawer-right.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-right);\n}\n\n/* Styles applied when position = \"right\" and the component unmounts */\n.saltDrawer-right.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-right);\n}\n\n/* Styles applied when position = \"left\" */\n.saltDrawer-left {\n left: 0;\n right: auto;\n height: 100%;\n}\n\n/* Styles applied when position = \"left\" and the component mounts */\n.saltDrawer-left.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-left);\n}\n\n/* Styles applied when position = \"left\" and the component unmounts */\n.saltDrawer-left.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-left);\n}\n\n/* Styles applied when position = \"bottom\" */\n.saltDrawer-bottom {\n left: 0;\n right: 0;\n bottom: 0;\n top: auto;\n}\n\n/* Styles applied when position = \"bottom\" and the component mounts */\n.saltDrawer-bottom.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-top);\n}\n\n/* Styles applied when position = \"bottom\" and the component unmounts */\n.saltDrawer-bottom.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-top);\n}\n";
1
+ var css_248z = "/* Styles applied to Drawer component */\n.saltDrawer {\n background: var(--drawer-background);\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 100%;\n overflow: auto;\n padding: var(--salt-spacing-300);\n box-shadow: var(--salt-overlayable-shadow-modal);\n z-index: var(--salt-zIndex-drawer);\n position: fixed;\n top: 0;\n}\n\n/* Styles applied when variant = \"primary\" */\n.saltDrawer-primary {\n --drawer-background: var(--salt-container-primary-background);\n}\n\n/* Styles applied when variant = \"secondary\" */\n.saltDrawer-secondary {\n --drawer-background: var(--salt-container-secondary-background);\n}\n\n/* Styles applied when position = \"top\" */\n.saltDrawer-top {\n left: 0;\n right: 0;\n bottom: auto;\n}\n\n/* Styles applied when position = \"top\" and the component mounts */\n.saltDrawer-top.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-bottom);\n}\n\n/* Styles applied when position = \"top\" and the component unmounts */\n.saltDrawer-top.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-bottom);\n}\n\n/* Styles applied when position = \"right\" */\n.saltDrawer-right {\n left: auto;\n right: 0;\n height: 100%;\n}\n\n/* Styles applied when position = \"right\" and the component mounts */\n.saltDrawer-right.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-right);\n}\n\n/* Styles applied when position = \"right\" and the component unmounts */\n.saltDrawer-right.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-right);\n}\n\n/* Styles applied when position = \"left\" */\n.saltDrawer-left {\n left: 0;\n right: auto;\n height: 100%;\n}\n\n/* Styles applied when position = \"left\" and the component mounts */\n.saltDrawer-left.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-left);\n}\n\n/* Styles applied when position = \"left\" and the component unmounts */\n.saltDrawer-left.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-left);\n}\n\n/* Styles applied when position = \"bottom\" */\n.saltDrawer-bottom {\n left: 0;\n right: 0;\n bottom: 0;\n top: auto;\n}\n\n/* Styles applied when position = \"bottom\" and the component mounts */\n.saltDrawer-bottom.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-top);\n}\n\n/* Styles applied when position = \"bottom\" and the component unmounts */\n.saltDrawer-bottom.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-top);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=Drawer.css.js.map
@@ -1,23 +1,42 @@
1
- import { jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { forwardRef, useState, useEffect } from 'react';
3
3
  import { clsx } from 'clsx';
4
- import { FloatingPortal, FloatingOverlay, FloatingFocusManager } from '@floating-ui/react';
5
- import { makePrefixer, useForkRef, SaltProvider } from '@salt-ds/core';
4
+ import { useInteractions, useClick, useDismiss } from '@floating-ui/react';
5
+ import { makePrefixer, useFloatingComponent, useFloatingUI, useForkRef, Scrim } from '@salt-ds/core';
6
6
  import { useWindow } from '@salt-ds/window';
7
7
  import { useComponentCssInjection } from '@salt-ds/styles';
8
- import { useDrawer } from './useDrawer.js';
9
8
  import css_248z from './Drawer.css.js';
10
9
 
11
- const DRAWER_POSITIONS = ["left", "top", "right", "bottom"];
10
+ const ConditionalScrimWrapper = ({
11
+ condition,
12
+ children
13
+ }) => {
14
+ return condition ? /* @__PURE__ */ jsxs(Scrim, {
15
+ fixed: true,
16
+ children: [
17
+ " ",
18
+ children,
19
+ " "
20
+ ]
21
+ }) : /* @__PURE__ */ jsxs(Fragment, {
22
+ children: [
23
+ children,
24
+ " "
25
+ ]
26
+ });
27
+ };
12
28
  const withBaseName = makePrefixer("saltDrawer");
13
29
  const Drawer = forwardRef(function Drawer2(props, ref) {
30
+ var _a, _b;
14
31
  const {
15
32
  children,
16
33
  className,
17
34
  position = "left",
18
- open = true,
35
+ open = false,
19
36
  onOpenChange,
20
37
  variant = "primary",
38
+ disableDismiss,
39
+ disableScrim,
21
40
  ...rest
22
41
  } = props;
23
42
  const targetWindow = useWindow();
@@ -27,48 +46,55 @@ const Drawer = forwardRef(function Drawer2(props, ref) {
27
46
  window: targetWindow
28
47
  });
29
48
  const [showComponent, setShowComponent] = useState(false);
30
- const { floating, context } = useDrawer({
49
+ const { Component: FloatingComponent } = useFloatingComponent();
50
+ const { context, floating, elements } = useFloatingUI({
31
51
  open,
32
52
  onOpenChange
33
53
  });
34
- const floatingRef = useForkRef(floating, ref);
54
+ const { getFloatingProps } = useInteractions([
55
+ useClick(context),
56
+ useDismiss(context, { enabled: !disableDismiss })
57
+ ]);
58
+ const handleRef = useForkRef(floating, ref);
35
59
  useEffect(() => {
36
60
  if (open && !showComponent) {
37
61
  setShowComponent(true);
38
62
  }
39
- }, [open, showComponent]);
40
- return /* @__PURE__ */ jsx(FloatingPortal, {
41
- children: /* @__PURE__ */ jsx(SaltProvider, {
42
- children: showComponent && /* @__PURE__ */ jsx(FloatingOverlay, {
43
- className: withBaseName("overlay"),
44
- lockScroll: true,
45
- children: /* @__PURE__ */ jsx(FloatingFocusManager, {
46
- context,
47
- children: /* @__PURE__ */ jsx("div", {
48
- ref: floatingRef,
49
- className: clsx(
50
- withBaseName(),
51
- withBaseName(position),
52
- {
53
- [withBaseName("enterAnimation")]: open,
54
- [withBaseName("exitAnimation")]: !open,
55
- [withBaseName(variant)]: variant
56
- },
57
- className
58
- ),
59
- onAnimationEnd: () => {
60
- if (!open && showComponent) {
61
- setShowComponent(false);
62
- }
63
- },
64
- ...rest,
65
- children
66
- })
67
- })
68
- })
63
+ if (!open && showComponent) {
64
+ const animate = setTimeout(() => {
65
+ setShowComponent(false);
66
+ }, 300);
67
+ return () => clearTimeout(animate);
68
+ }
69
+ }, [open, showComponent, setShowComponent]);
70
+ return /* @__PURE__ */ jsx(ConditionalScrimWrapper, {
71
+ condition: open && !disableScrim,
72
+ children: /* @__PURE__ */ jsx(FloatingComponent, {
73
+ open: showComponent,
74
+ ref: handleRef,
75
+ role: "dialog",
76
+ width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
77
+ height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight,
78
+ "aria-modal": "true",
79
+ focusManagerProps: {
80
+ context
81
+ },
82
+ className: clsx(
83
+ withBaseName(),
84
+ withBaseName(position),
85
+ {
86
+ [withBaseName("enterAnimation")]: open,
87
+ [withBaseName("exitAnimation")]: !open,
88
+ [withBaseName(variant)]: variant
89
+ },
90
+ className
91
+ ),
92
+ ...getFloatingProps(),
93
+ ...rest,
94
+ children
69
95
  })
70
96
  });
71
97
  });
72
98
 
73
- export { DRAWER_POSITIONS, Drawer };
99
+ export { Drawer };
74
100
  //# sourceMappingURL=Drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../src/drawer/Drawer.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, useEffect, useState } from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FloatingFocusManager,\n FloatingOverlay,\n FloatingPortal,\n} from \"@floating-ui/react\";\nimport { makePrefixer, SaltProvider, useForkRef } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useDrawer } from \"./useDrawer\";\n\nimport drawerCss from \"./Drawer.css\";\n\nexport const DRAWER_POSITIONS = [\"left\", \"top\", \"right\", \"bottom\"] as const;\n\nexport type DrawerPositions = (typeof DRAWER_POSITIONS)[number];\n\nexport interface DrawerProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Defines the drawer position within the screen.\n */\n position?: DrawerPositions;\n /**\n * Display or hide the component.\n */\n open?: boolean;\n /**\n * Callback function triggered when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Change background color palette\n */\n variant?: \"primary\" | \"secondary\";\n}\n\nconst withBaseName = makePrefixer(\"saltDrawer\");\n\nexport const Drawer = forwardRef<HTMLDivElement, DrawerProps>(function Drawer(\n props,\n ref\n) {\n const {\n children,\n className,\n position = \"left\",\n open = true,\n onOpenChange,\n variant = \"primary\",\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-drawer\",\n css: drawerCss,\n window: targetWindow,\n });\n\n const [showComponent, setShowComponent] = useState(false);\n\n const { floating, context } = useDrawer({\n open,\n onOpenChange,\n });\n\n const floatingRef = useForkRef<HTMLDivElement>(floating, ref);\n\n useEffect(() => {\n if (open && !showComponent) {\n setShowComponent(true);\n }\n }, [open, showComponent]);\n\n return (\n <FloatingPortal>\n {/* The provider is needed to support the use case where an app has nested modes. The element that is portalled needs to have the same style as the current scope */}\n <SaltProvider>\n {showComponent && (\n <FloatingOverlay className={withBaseName(\"overlay\")} lockScroll>\n <FloatingFocusManager context={context}>\n <div\n ref={floatingRef}\n className={clsx(\n withBaseName(),\n withBaseName(position),\n {\n [withBaseName(\"enterAnimation\")]: open,\n [withBaseName(\"exitAnimation\")]: !open,\n [withBaseName(variant)]: variant,\n },\n className\n )}\n onAnimationEnd={() => {\n if (!open && showComponent) {\n setShowComponent(false);\n }\n }}\n {...rest}\n >\n {children}\n </div>\n </FloatingFocusManager>\n </FloatingOverlay>\n )}\n </SaltProvider>\n </FloatingPortal>\n );\n});\n"],"names":["Drawer","drawerCss"],"mappings":";;;;;;;;;;AAcO,MAAM,gBAAmB,GAAA,CAAC,MAAQ,EAAA,KAAA,EAAO,SAAS,QAAQ,EAAA;AAuBjE,MAAM,YAAA,GAAe,aAAa,YAAY,CAAA,CAAA;AAEvC,MAAM,MAAS,GAAA,UAAA,CAAwC,SAASA,OAAAA,CACrE,OACA,GACA,EAAA;AACA,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAW,GAAA,MAAA;AAAA,IACX,IAAO,GAAA,IAAA;AAAA,IACP,YAAA;AAAA,IACA,OAAU,GAAA,SAAA;AAAA,IACP,GAAA,IAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,aAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAExD,EAAA,MAAM,EAAE,QAAA,EAAU,OAAQ,EAAA,GAAI,SAAU,CAAA;AAAA,IACtC,IAAA;AAAA,IACA,YAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,WAAA,GAAc,UAA2B,CAAA,QAAA,EAAU,GAAG,CAAA,CAAA;AAE5D,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,IAAA,IAAQ,CAAC,aAAe,EAAA;AAC1B,MAAA,gBAAA,CAAiB,IAAI,CAAA,CAAA;AAAA,KACvB;AAAA,GACC,EAAA,CAAC,IAAM,EAAA,aAAa,CAAC,CAAA,CAAA;AAExB,EAAA,uBACG,GAAA,CAAA,cAAA,EAAA;AAAA,IAEC,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA;AAAA,MACE,2CACE,GAAA,CAAA,eAAA,EAAA;AAAA,QAAgB,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,QAAG,UAAU,EAAA,IAAA;AAAA,QAC7D,QAAC,kBAAA,GAAA,CAAA,oBAAA,EAAA;AAAA,UAAqB,OAAA;AAAA,UACpB,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,YACC,GAAK,EAAA,WAAA;AAAA,YACL,SAAW,EAAA,IAAA;AAAA,cACT,YAAa,EAAA;AAAA,cACb,aAAa,QAAQ,CAAA;AAAA,cACrB;AAAA,gBACE,CAAC,YAAa,CAAA,gBAAgB,CAAI,GAAA,IAAA;AAAA,gBAClC,CAAC,YAAA,CAAa,eAAe,CAAA,GAAI,CAAC,IAAA;AAAA,gBAClC,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,OAAA;AAAA,eAC3B;AAAA,cACA,SAAA;AAAA,aACF;AAAA,YACA,gBAAgB,MAAM;AACpB,cAAI,IAAA,CAAC,QAAQ,aAAe,EAAA;AAC1B,gBAAA,gBAAA,CAAiB,KAAK,CAAA,CAAA;AAAA,eACxB;AAAA,aACF;AAAA,YACC,GAAG,IAAA;AAAA,YAEH,QAAA;AAAA,WACH,CAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KAEJ,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Drawer.js","sources":["../src/drawer/Drawer.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n PropsWithChildren,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useClick, useDismiss, useInteractions } from \"@floating-ui/react\";\nimport {\n makePrefixer,\n Scrim,\n useFloatingComponent,\n useFloatingUI,\n useForkRef,\n} from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport drawerCss from \"./Drawer.css\";\n\ninterface ConditionalScrimWrapperProps extends PropsWithChildren {\n condition: boolean;\n}\n\nconst ConditionalScrimWrapper = ({\n condition,\n children,\n}: ConditionalScrimWrapperProps) => {\n return condition ? <Scrim fixed> {children} </Scrim> : <>{children} </>;\n};\n\nexport interface DrawerProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Defines the drawer position within the screen. Defaults to `left`.\n */\n position?: \"left\" | \"top\" | \"right\" | \"bottom\";\n /**\n * Display or hide the component.\n */\n open?: boolean;\n /**\n * Callback function triggered when open state changes.\n */\n onOpenChange?: (newOpen: boolean) => void;\n /**\n * Change background color palette\n */\n variant?: \"primary\" | \"secondary\";\n /**\n * Prevent the dialog closing on click away\n * */\n disableDismiss?: boolean;\n /**\n * Prevent Scrim from rendering\n * */\n disableScrim?: boolean;\n}\n\nconst withBaseName = makePrefixer(\"saltDrawer\");\n\nexport const Drawer = forwardRef<HTMLDivElement, DrawerProps>(function Drawer(\n props,\n ref\n) {\n const {\n children,\n className,\n position = \"left\",\n open = false,\n onOpenChange,\n variant = \"primary\",\n disableDismiss,\n disableScrim,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-drawer\",\n css: drawerCss,\n window: targetWindow,\n });\n\n const [showComponent, setShowComponent] = useState(false);\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const { context, floating, elements } = useFloatingUI({\n open,\n onOpenChange,\n });\n\n const { getFloatingProps } = useInteractions([\n useClick(context),\n useDismiss(context, { enabled: !disableDismiss }),\n ]);\n\n const handleRef = useForkRef<HTMLDivElement>(floating, ref);\n\n useEffect(() => {\n if (open && !showComponent) {\n setShowComponent(true);\n }\n\n if (!open && showComponent) {\n const animate = setTimeout(() => {\n setShowComponent(false);\n }, 300); // var(--salt-duration-perceptible)\n return () => clearTimeout(animate);\n }\n }, [open, showComponent, setShowComponent]);\n\n return (\n <ConditionalScrimWrapper condition={open && !disableScrim}>\n <FloatingComponent\n open={showComponent}\n ref={handleRef}\n role={\"dialog\"}\n width={elements.floating?.offsetWidth}\n height={elements.floating?.offsetHeight}\n aria-modal=\"true\"\n focusManagerProps={{\n context: context,\n }}\n className={clsx(\n withBaseName(),\n withBaseName(position),\n {\n [withBaseName(\"enterAnimation\")]: open,\n [withBaseName(\"exitAnimation\")]: !open,\n [withBaseName(variant)]: variant,\n },\n className\n )}\n {...getFloatingProps()}\n {...rest}\n >\n {children}\n </FloatingComponent>\n </ConditionalScrimWrapper>\n );\n});\n"],"names":["Drawer","drawerCss"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltDrawerCloseButton-container {\n position: relative;\n display: flex;\n justify-content: flex-end;\n}\n\n.saltButton-secondary.saltDrawerCloseButton {\n position: fixed;\n margin-top: calc(var(--salt-spacing-300) * -1);\n margin-right: calc(var(--salt-spacing-300) * -1);\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=DrawerCloseButton.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerCloseButton.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,36 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import clsx from 'clsx';
4
+ import { makePrefixer, Button } from '@salt-ds/core';
5
+ import { useWindow } from '@salt-ds/window';
6
+ import { useComponentCssInjection } from '@salt-ds/styles';
7
+ import { CloseIcon } from '@salt-ds/icons';
8
+ import css_248z from './DrawerCloseButton.css.js';
9
+
10
+ const withBaseName = makePrefixer("saltDrawerCloseButton");
11
+ const DrawerCloseButton = forwardRef(
12
+ function DrawerCloseButton2({ className, ...rest }, ref) {
13
+ const targetWindow = useWindow();
14
+ useComponentCssInjection({
15
+ testId: "salt-drawer-close-button",
16
+ css: css_248z,
17
+ window: targetWindow
18
+ });
19
+ return /* @__PURE__ */ jsx("div", {
20
+ className: withBaseName("container"),
21
+ children: /* @__PURE__ */ jsx(Button, {
22
+ ref,
23
+ "aria-label": "Close Drawer",
24
+ variant: "secondary",
25
+ className: clsx(withBaseName(), className),
26
+ ...rest,
27
+ children: /* @__PURE__ */ jsx(CloseIcon, {
28
+ "aria-hidden": true
29
+ })
30
+ })
31
+ });
32
+ }
33
+ );
34
+
35
+ export { DrawerCloseButton };
36
+ //# sourceMappingURL=DrawerCloseButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerCloseButton.js","sources":["../src/drawer/DrawerCloseButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Button, ButtonProps, makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { CloseIcon } from \"@salt-ds/icons\";\n\nimport drawerCloseButtonCss from \"./DrawerCloseButton.css\";\n\nconst withBaseName = makePrefixer(\"saltDrawerCloseButton\");\n\nexport const DrawerCloseButton = forwardRef<HTMLButtonElement, ButtonProps>(\n function DrawerCloseButton({ className, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-drawer-close-button\",\n css: drawerCloseButtonCss,\n window: targetWindow,\n });\n\n return (\n <div className={withBaseName(\"container\")}>\n <Button\n ref={ref}\n aria-label=\"Close Drawer\"\n variant=\"secondary\"\n className={clsx(withBaseName(), className)}\n {...rest}\n >\n <CloseIcon aria-hidden />\n </Button>\n </div>\n );\n }\n);\n"],"names":["DrawerCloseButton","drawerCloseButtonCss"],"mappings":";;;;;;;;;AASA,MAAM,YAAA,GAAe,aAAa,uBAAuB,CAAA,CAAA;AAElD,MAAM,iBAAoB,GAAA,UAAA;AAAA,EAC/B,SAASA,kBAAkB,CAAA,EAAE,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAK,EAAA;AACtD,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,0BAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,WAAW,CAAA;AAAA,MACtC,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA;AAAA,QACC,GAAA;AAAA,QACA,YAAW,EAAA,cAAA;AAAA,QACX,OAAQ,EAAA,WAAA;AAAA,QACR,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACxC,GAAG,IAAA;AAAA,QAEJ,QAAC,kBAAA,GAAA,CAAA,SAAA,EAAA;AAAA,UAAU,aAAW,EAAA,IAAA;AAAA,SAAC,CAAA;AAAA,OACzB,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}