@govtechsg/sgds-web-component 3.1.1 → 3.1.2

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 (56) hide show
  1. package/components/Badge/index.umd.js +63 -44
  2. package/components/Badge/index.umd.js.map +1 -1
  3. package/components/Badge/sgds-badge.d.ts +3 -1
  4. package/components/Badge/sgds-badge.js +23 -4
  5. package/components/Badge/sgds-badge.js.map +1 -1
  6. package/components/ComboBox/index.umd.js +29 -9
  7. package/components/ComboBox/index.umd.js.map +1 -1
  8. package/components/ComboBox/sgds-combo-box.js +3 -2
  9. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  10. package/components/Drawer/index.umd.js +2 -2
  11. package/components/Drawer/index.umd.js.map +1 -1
  12. package/components/Mainnav/index.umd.js +2 -2
  13. package/components/Mainnav/index.umd.js.map +1 -1
  14. package/components/Modal/index.umd.js +22 -17
  15. package/components/Modal/index.umd.js.map +1 -1
  16. package/components/Modal/modal.js +1 -1
  17. package/components/Modal/sgds-modal.js +17 -14
  18. package/components/Modal/sgds-modal.js.map +1 -1
  19. package/components/Subnav/index.umd.js.map +1 -1
  20. package/components/index.umd.js +45 -23
  21. package/components/index.umd.js.map +1 -1
  22. package/index.umd.js +45 -23
  23. package/index.umd.js.map +1 -1
  24. package/package.json +1 -1
  25. package/react/badge/index.cjs.js +3 -1
  26. package/react/badge/index.cjs.js.map +1 -1
  27. package/react/badge/index.js +3 -1
  28. package/react/badge/index.js.map +1 -1
  29. package/react/components/Badge/sgds-badge.cjs.js +23 -4
  30. package/react/components/Badge/sgds-badge.cjs.js.map +1 -1
  31. package/react/components/Badge/sgds-badge.js +23 -4
  32. package/react/components/Badge/sgds-badge.js.map +1 -1
  33. package/react/components/ComboBox/sgds-combo-box.cjs.js +3 -2
  34. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
  35. package/react/components/ComboBox/sgds-combo-box.js +3 -2
  36. package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
  37. package/react/components/Modal/modal.cjs.js +1 -1
  38. package/react/components/Modal/modal.js +1 -1
  39. package/react/components/Modal/sgds-modal.cjs.js +17 -14
  40. package/react/components/Modal/sgds-modal.cjs.js.map +1 -1
  41. package/react/components/Modal/sgds-modal.js +17 -14
  42. package/react/components/Modal/sgds-modal.js.map +1 -1
  43. package/react/utils/breakpoints.cjs.js +2 -2
  44. package/react/utils/breakpoints.cjs.js.map +1 -1
  45. package/react/utils/breakpoints.js +2 -2
  46. package/react/utils/breakpoints.js.map +1 -1
  47. package/react/utils/scroll.cjs.js +2 -2
  48. package/react/utils/scroll.cjs.js.map +1 -1
  49. package/react/utils/scroll.js +2 -2
  50. package/react/utils/scroll.js.map +1 -1
  51. package/themes/root.css +6 -0
  52. package/utils/breakpoints.d.ts +3 -2
  53. package/utils/breakpoints.js +2 -2
  54. package/utils/breakpoints.js.map +1 -1
  55. package/utils/scroll.js +2 -2
  56. package/utils/scroll.js.map +1 -1
@@ -4268,45 +4268,6 @@
4268
4268
  /** @internal */
4269
4269
  SgdsElement.dependencies = {};
4270
4270
 
4271
- var css_248z$1 = css`:host{display:inline-flex}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24);justify-content:center;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}slot::slotted(*){font-size:14px;font-weight:400}`;
4272
-
4273
- // @watch decorator
4274
- //
4275
- // Runs when an observed property changes, e.g. @property or @state, but before the component updates.
4276
- //
4277
- // To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start
4278
- // watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.
4279
- //
4280
- // Usage:
4281
- //
4282
- // @watch('propName')
4283
- // handlePropChange(oldValue, newValue) {
4284
- // ...
4285
- // }
4286
- function watch(propName, options) {
4287
- const resolvedOptions = Object.assign({ waitUntilFirstUpdate: false }, options);
4288
- return (proto, decoratedFnName) => {
4289
- // @ts-expect-error -- update is a protected property
4290
- const { update } = proto;
4291
- if (propName in proto) {
4292
- const propNameKey = propName;
4293
- // @ts-expect-error -- update is a protected property
4294
- proto.update = function (changedProps) {
4295
- if (changedProps.has(propNameKey)) {
4296
- const oldValue = changedProps.get(propNameKey);
4297
- const newValue = this[propNameKey];
4298
- if (oldValue !== newValue) {
4299
- if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
4300
- this[decoratedFnName](oldValue, newValue);
4301
- }
4302
- }
4303
- }
4304
- update.call(this, changedProps);
4305
- };
4306
- }
4307
- };
4308
- }
4309
-
4310
4271
  /**
4311
4272
  * @license
4312
4273
  * Copyright 2018 Google LLC
@@ -4320,7 +4281,7 @@
4320
4281
  */
4321
4282
  const ifDefined = (value) => value ?? nothing;
4322
4283
 
4323
- var css_248z = css`:host{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm);display:inline-flex}.btn-close{align-items:center;background-color:var(--sgds-bg-transparent);border:0;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-close-btn-border-radius);cursor:pointer;display:flex;height:var(--sgds-dimension-32);justify-content:center;padding:0;position:relative;width:var(--sgds-dimension-32)}.btn-close-light{color:var(--sgds-color-fixed-light)}.btn-close-dark{color:var(--sgds-color-fixed-dark)}.btn-close:hover{background-color:var(--sgds-bg-translucent)}.btn-close:focus,.btn-close:focus-visible{background-color:var(--sgds-bg-translucent);box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn-close-sm{height:var(--sgds-dimension-24);width:var(--sgds-dimension-24)}.btn-close.btn-close-sm{height:var(--sgds-icon-size-sm);width:var(--sgds-icon-size-sm)}`;
4284
+ var css_248z$1 = css`:host{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm);display:inline-flex}.btn-close{align-items:center;background-color:var(--sgds-bg-transparent);border:0;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-close-btn-border-radius);cursor:pointer;display:flex;height:var(--sgds-dimension-32);justify-content:center;padding:0;position:relative;width:var(--sgds-dimension-32)}.btn-close-light{color:var(--sgds-color-fixed-light)}.btn-close-dark{color:var(--sgds-color-fixed-dark)}.btn-close:hover{background-color:var(--sgds-bg-translucent)}.btn-close:focus,.btn-close:focus-visible{background-color:var(--sgds-bg-translucent);box-shadow:var(--sgds-box-shadow-focus);outline:0}.btn-close-sm{height:var(--sgds-dimension-24);width:var(--sgds-dimension-24)}.btn-close.btn-close-sm{height:var(--sgds-icon-size-sm);width:var(--sgds-icon-size-sm)}`;
4324
4285
 
4325
4286
  /**
4326
4287
  *
@@ -4387,7 +4348,7 @@
4387
4348
  `;
4388
4349
  }
4389
4350
  }
4390
- SgdsCloseButton.styles = [...SgdsElement.styles, css_248z];
4351
+ SgdsCloseButton.styles = [...SgdsElement.styles, css_248z$1];
4391
4352
  __decorate([
4392
4353
  property({ type: String })
4393
4354
  ], SgdsCloseButton.prototype, "ariaLabel", void 0);
@@ -4398,6 +4359,45 @@
4398
4359
  property({ type: String, reflect: true })
4399
4360
  ], SgdsCloseButton.prototype, "variant", void 0);
4400
4361
 
4362
+ // @watch decorator
4363
+ //
4364
+ // Runs when an observed property changes, e.g. @property or @state, but before the component updates.
4365
+ //
4366
+ // To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start
4367
+ // watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.
4368
+ //
4369
+ // Usage:
4370
+ //
4371
+ // @watch('propName')
4372
+ // handlePropChange(oldValue, newValue) {
4373
+ // ...
4374
+ // }
4375
+ function watch(propName, options) {
4376
+ const resolvedOptions = Object.assign({ waitUntilFirstUpdate: false }, options);
4377
+ return (proto, decoratedFnName) => {
4378
+ // @ts-expect-error -- update is a protected property
4379
+ const { update } = proto;
4380
+ if (propName in proto) {
4381
+ const propNameKey = propName;
4382
+ // @ts-expect-error -- update is a protected property
4383
+ proto.update = function (changedProps) {
4384
+ if (changedProps.has(propNameKey)) {
4385
+ const oldValue = changedProps.get(propNameKey);
4386
+ const newValue = this[propNameKey];
4387
+ if (oldValue !== newValue) {
4388
+ if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
4389
+ this[decoratedFnName](oldValue, newValue);
4390
+ }
4391
+ }
4392
+ }
4393
+ update.call(this, changedProps);
4394
+ };
4395
+ }
4396
+ };
4397
+ }
4398
+
4399
+ var css_248z = css`:host{display:inline-flex}:host([variant=success]) .badge{background-color:var(--sgds-success-surface-default)}:host([variant=danger]) .badge{background-color:var(--sgds-danger-surface-default)}:host([variant=warning]) .badge{background-color:var(--sgds-warning-surface-default);color:var(--sgds-color-fixed-dark)}:host([variant=neutral]) .badge{background-color:var(--sgds-neutral-surface-default)}:host([variant=success][outlined]) .badge{background-color:var(--sgds-success-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-success-border-color-default)}:host([variant=danger][outlined]) .badge{background-color:var(--sgds-danger-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-danger-border-color-default)}:host([variant=warning][outlined]) .badge{background-color:var(--sgds-warning-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-warning-border-color-default)}:host([variant=neutral][outlined]) .badge{background-color:var(--sgds-neutral-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-neutral-border-color-default)}.badge{align-items:center;background-color:var(--sgds-primary-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-sm);color:var(--sgds-color-fixed-light);display:inline-flex;font-size:var(--sgds-font-size-1);height:var(--sgds-dimension-24);justify-content:center;min-width:var(--sgds-dimension-24);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge.outlined{background-color:var(--sgds-primary-surface-muted);border:var(--sgds-border-width-1) solid var(--sgds-primary-border-color-default);color:var(--sgds-color-fixed-dark)}.badge-label{line-height:var(--sgds-line-height-min);padding:var(--sgds-padding-none) var(--sgds-padding-2-xs)}.badge-dismissible{padding-right:0}.badge-dimissible sgds-close-button{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm)}slot::slotted(*){font-size:14px;font-weight:400}`;
4400
+
4401
4401
  /**
4402
4402
  * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.
4403
4403
  *
@@ -4405,7 +4405,9 @@
4405
4405
  * @slot icon - The slot for icon to the left of the badge text
4406
4406
  *
4407
4407
  * @event sgds-show - Emitted when the badge appears.
4408
- * @event sgds-hide - Emitted after the badge closes.
4408
+ * @event sgds-hide - Emitted when the badge is starting to close but has not closed.
4409
+ * @event sgds-after-show - Emitted after the badge has appeared
4410
+ * @event sgds-after-hide - Emitted after the badge has closed
4409
4411
  */
4410
4412
  class SgdsBadge extends SgdsElement {
4411
4413
  constructor() {
@@ -4425,7 +4427,24 @@
4425
4427
  }
4426
4428
  /**@internal */
4427
4429
  _handleShowChange() {
4428
- this.show ? this.emit("sgds-show") : this.emit("sgds-hide");
4430
+ if (this.show) {
4431
+ const sgdsShow = this.emit("sgds-show", { cancelable: true });
4432
+ if (sgdsShow.defaultPrevented) {
4433
+ this.show = false;
4434
+ return;
4435
+ }
4436
+ // animations if any go here
4437
+ this.emit("sgds-after-show");
4438
+ }
4439
+ else {
4440
+ const sgdsHide = this.emit("sgds-hide", { cancelable: true });
4441
+ if (sgdsHide.defaultPrevented) {
4442
+ this.show = true;
4443
+ return;
4444
+ }
4445
+ // animations if any go here
4446
+ this.emit("sgds-after-hide");
4447
+ }
4429
4448
  }
4430
4449
  render() {
4431
4450
  return (this.dismissible && this.show) || !this.dismissible
@@ -4458,7 +4477,7 @@
4458
4477
  : nothing;
4459
4478
  }
4460
4479
  }
4461
- SgdsBadge.styles = [...SgdsElement.styles, css_248z$1];
4480
+ SgdsBadge.styles = [...SgdsElement.styles, css_248z];
4462
4481
  /**@internal */
4463
4482
  SgdsBadge.dependencies = {
4464
4483
  "sgds-close-button": SgdsCloseButton