@helpwave/hightide 0.1.14 → 0.1.16

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 (151) hide show
  1. package/dist/components/dialogs/ConfirmDialog.js +10 -0
  2. package/dist/components/dialogs/ConfirmDialog.js.map +1 -1
  3. package/dist/components/dialogs/ConfirmDialog.mjs +10 -0
  4. package/dist/components/dialogs/ConfirmDialog.mjs.map +1 -1
  5. package/dist/components/layout-and-navigation/Overlay.js +10 -0
  6. package/dist/components/layout-and-navigation/Overlay.js.map +1 -1
  7. package/dist/components/layout-and-navigation/Overlay.mjs +10 -0
  8. package/dist/components/layout-and-navigation/Overlay.mjs.map +1 -1
  9. package/dist/components/layout-and-navigation/Pagination.js +18 -4
  10. package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
  11. package/dist/components/layout-and-navigation/Pagination.mjs +18 -4
  12. package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -1
  13. package/dist/components/layout-and-navigation/SearchableList.js +18 -4
  14. package/dist/components/layout-and-navigation/SearchableList.js.map +1 -1
  15. package/dist/components/layout-and-navigation/SearchableList.mjs +18 -4
  16. package/dist/components/layout-and-navigation/SearchableList.mjs.map +1 -1
  17. package/dist/components/layout-and-navigation/StepperBar.js +10 -0
  18. package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
  19. package/dist/components/layout-and-navigation/StepperBar.mjs +10 -0
  20. package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -1
  21. package/dist/components/layout-and-navigation/TextImage.js +10 -0
  22. package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
  23. package/dist/components/layout-and-navigation/TextImage.mjs +10 -0
  24. package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -1
  25. package/dist/components/loading-states/LoadingAndErrorComponent.js +10 -0
  26. package/dist/components/loading-states/LoadingAndErrorComponent.js.map +1 -1
  27. package/dist/components/loading-states/LoadingAndErrorComponent.mjs +10 -0
  28. package/dist/components/loading-states/LoadingAndErrorComponent.mjs.map +1 -1
  29. package/dist/components/loading-states/LoadingAnimation.js +10 -0
  30. package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
  31. package/dist/components/loading-states/LoadingAnimation.mjs +10 -0
  32. package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
  33. package/dist/components/modals/ConfirmModal.js +10 -0
  34. package/dist/components/modals/ConfirmModal.js.map +1 -1
  35. package/dist/components/modals/ConfirmModal.mjs +10 -0
  36. package/dist/components/modals/ConfirmModal.mjs.map +1 -1
  37. package/dist/components/modals/DiscardChangesModal.js +10 -0
  38. package/dist/components/modals/DiscardChangesModal.js.map +1 -1
  39. package/dist/components/modals/DiscardChangesModal.mjs +10 -0
  40. package/dist/components/modals/DiscardChangesModal.mjs.map +1 -1
  41. package/dist/components/modals/InputModal.js +18 -4
  42. package/dist/components/modals/InputModal.js.map +1 -1
  43. package/dist/components/modals/InputModal.mjs +18 -4
  44. package/dist/components/modals/InputModal.mjs.map +1 -1
  45. package/dist/components/modals/LanguageModal.js +18 -4
  46. package/dist/components/modals/LanguageModal.js.map +1 -1
  47. package/dist/components/modals/LanguageModal.mjs +18 -4
  48. package/dist/components/modals/LanguageModal.mjs.map +1 -1
  49. package/dist/components/modals/ThemeModal.js +18 -4
  50. package/dist/components/modals/ThemeModal.js.map +1 -1
  51. package/dist/components/modals/ThemeModal.mjs +18 -4
  52. package/dist/components/modals/ThemeModal.mjs.map +1 -1
  53. package/dist/components/properties/CheckboxProperty.js +10 -0
  54. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  55. package/dist/components/properties/CheckboxProperty.mjs +10 -0
  56. package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
  57. package/dist/components/properties/DateProperty.js +18 -4
  58. package/dist/components/properties/DateProperty.js.map +1 -1
  59. package/dist/components/properties/DateProperty.mjs +18 -4
  60. package/dist/components/properties/DateProperty.mjs.map +1 -1
  61. package/dist/components/properties/MultiSelectProperty.js +18 -4
  62. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  63. package/dist/components/properties/MultiSelectProperty.mjs +18 -4
  64. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  65. package/dist/components/properties/NumberProperty.js +18 -4
  66. package/dist/components/properties/NumberProperty.js.map +1 -1
  67. package/dist/components/properties/NumberProperty.mjs +18 -4
  68. package/dist/components/properties/NumberProperty.mjs.map +1 -1
  69. package/dist/components/properties/PropertyBase.js +10 -0
  70. package/dist/components/properties/PropertyBase.js.map +1 -1
  71. package/dist/components/properties/PropertyBase.mjs +10 -0
  72. package/dist/components/properties/PropertyBase.mjs.map +1 -1
  73. package/dist/components/properties/SelectProperty.js +18 -4
  74. package/dist/components/properties/SelectProperty.js.map +1 -1
  75. package/dist/components/properties/SelectProperty.mjs +18 -4
  76. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  77. package/dist/components/properties/TextProperty.js +18 -4
  78. package/dist/components/properties/TextProperty.js.map +1 -1
  79. package/dist/components/properties/TextProperty.mjs +18 -4
  80. package/dist/components/properties/TextProperty.mjs.map +1 -1
  81. package/dist/components/table/Table.d.mts +4 -6
  82. package/dist/components/table/Table.d.ts +4 -6
  83. package/dist/components/table/Table.js +27 -7
  84. package/dist/components/table/Table.js.map +1 -1
  85. package/dist/components/table/Table.mjs +27 -7
  86. package/dist/components/table/Table.mjs.map +1 -1
  87. package/dist/components/table/TableFilterButton.js +18 -4
  88. package/dist/components/table/TableFilterButton.js.map +1 -1
  89. package/dist/components/table/TableFilterButton.mjs +18 -4
  90. package/dist/components/table/TableFilterButton.mjs.map +1 -1
  91. package/dist/components/user-action/CopyToClipboardWrapper.d.mts +30 -0
  92. package/dist/components/user-action/CopyToClipboardWrapper.d.ts +30 -0
  93. package/dist/components/user-action/CopyToClipboardWrapper.js +324 -0
  94. package/dist/components/user-action/CopyToClipboardWrapper.js.map +1 -0
  95. package/dist/components/user-action/CopyToClipboardWrapper.mjs +300 -0
  96. package/dist/components/user-action/CopyToClipboardWrapper.mjs.map +1 -0
  97. package/dist/components/user-action/DateAndTimePicker.js +10 -0
  98. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  99. package/dist/components/user-action/DateAndTimePicker.mjs +10 -0
  100. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
  101. package/dist/components/user-action/Input.js +8 -4
  102. package/dist/components/user-action/Input.js.map +1 -1
  103. package/dist/components/user-action/Input.mjs +8 -4
  104. package/dist/components/user-action/Input.mjs.map +1 -1
  105. package/dist/components/user-action/MultiSelect.js +18 -4
  106. package/dist/components/user-action/MultiSelect.js.map +1 -1
  107. package/dist/components/user-action/MultiSelect.mjs +18 -4
  108. package/dist/components/user-action/MultiSelect.mjs.map +1 -1
  109. package/dist/components/user-action/Select.js +18 -4
  110. package/dist/components/user-action/Select.js.map +1 -1
  111. package/dist/components/user-action/Select.mjs +18 -4
  112. package/dist/components/user-action/Select.mjs.map +1 -1
  113. package/dist/components/user-action/Textarea.js +8 -4
  114. package/dist/components/user-action/Textarea.js.map +1 -1
  115. package/dist/components/user-action/Textarea.mjs +8 -4
  116. package/dist/components/user-action/Textarea.mjs.map +1 -1
  117. package/dist/components/user-action/ToggleableInput.js +8 -4
  118. package/dist/components/user-action/ToggleableInput.js.map +1 -1
  119. package/dist/components/user-action/ToggleableInput.mjs +8 -4
  120. package/dist/components/user-action/ToggleableInput.mjs.map +1 -1
  121. package/dist/components/user-action/Tooltip.d.mts +1 -1
  122. package/dist/components/user-action/Tooltip.d.ts +1 -1
  123. package/dist/components/user-action/Tooltip.js.map +1 -1
  124. package/dist/components/user-action/Tooltip.mjs.map +1 -1
  125. package/dist/css/globals.css +18 -21
  126. package/dist/css/uncompiled/utitlity/animation.css +4 -28
  127. package/dist/hooks/useDelay.d.mts +1 -0
  128. package/dist/hooks/useDelay.d.ts +1 -0
  129. package/dist/hooks/useDelay.js +8 -4
  130. package/dist/hooks/useDelay.js.map +1 -1
  131. package/dist/hooks/useDelay.mjs +8 -4
  132. package/dist/hooks/useDelay.mjs.map +1 -1
  133. package/dist/index.d.mts +2 -1
  134. package/dist/index.d.ts +2 -1
  135. package/dist/index.js +176 -54
  136. package/dist/index.js.map +1 -1
  137. package/dist/index.mjs +163 -43
  138. package/dist/index.mjs.map +1 -1
  139. package/dist/localization/defaults/form.d.mts +5 -0
  140. package/dist/localization/defaults/form.d.ts +5 -0
  141. package/dist/localization/defaults/form.js +10 -0
  142. package/dist/localization/defaults/form.js.map +1 -1
  143. package/dist/localization/defaults/form.mjs +10 -0
  144. package/dist/localization/defaults/form.mjs.map +1 -1
  145. package/dist/util/writeToClipboard.d.mts +3 -0
  146. package/dist/util/writeToClipboard.d.ts +3 -0
  147. package/dist/util/writeToClipboard.js +32 -0
  148. package/dist/util/writeToClipboard.js.map +1 -0
  149. package/dist/util/writeToClipboard.mjs +8 -0
  150. package/dist/util/writeToClipboard.mjs.map +1 -0
  151. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -4464,8 +4464,12 @@ var formTranslation = {
4464
4464
  cancel: "Cancel",
4465
4465
  change: "Change",
4466
4466
  clear: "Clear",
4467
+ click: "Click",
4468
+ clickToCopy: "Click to Copy",
4467
4469
  close: "Close",
4468
4470
  confirm: "Confirm",
4471
+ copy: "Copy",
4472
+ copied: "Copied",
4469
4473
  decline: "Decline",
4470
4474
  delete: "Delete",
4471
4475
  discard: "Discard",
@@ -4493,6 +4497,7 @@ var formTranslation = {
4493
4497
  required: "Required",
4494
4498
  reset: "Reset",
4495
4499
  save: "Save",
4500
+ saved: "Saved",
4496
4501
  search: "Search",
4497
4502
  select: "Select",
4498
4503
  selectOption: "Select an option",
@@ -4513,8 +4518,12 @@ var formTranslation = {
4513
4518
  cancel: "Abbrechen",
4514
4519
  change: "\xC4ndern",
4515
4520
  clear: "L\xF6schen",
4521
+ click: "Klicken",
4522
+ clickToCopy: "Zum kopieren klicken",
4516
4523
  close: "Schlie\xDFen",
4517
4524
  confirm: "Best\xE4tigen",
4525
+ copy: "Kopieren",
4526
+ copied: "Kopiert",
4518
4527
  decline: "Ablehnen",
4519
4528
  delete: "L\xF6schen",
4520
4529
  discard: "Verwerfen",
@@ -4542,6 +4551,7 @@ var formTranslation = {
4542
4551
  required: "Erforderlich",
4543
4552
  reset: "Zur\xFCcksetzen",
4544
4553
  save: "Speichern",
4554
+ saved: "Gespeichert",
4545
4555
  search: "Suche",
4546
4556
  select: "Select",
4547
4557
  selectOption: "Option ausw\xE4hlen",
@@ -5992,6 +6002,10 @@ function useDelay(options) {
5992
6002
  ...defaultOptions,
5993
6003
  ...options
5994
6004
  };
6005
+ const clearTimer = () => {
6006
+ clearTimeout(timer);
6007
+ setTimer(void 0);
6008
+ };
5995
6009
  const restartTimer = (onDelayFinish) => {
5996
6010
  if (disabled) {
5997
6011
  return;
@@ -5999,11 +6013,9 @@ function useDelay(options) {
5999
6013
  clearTimeout(timer);
6000
6014
  setTimer(setTimeout(() => {
6001
6015
  onDelayFinish();
6016
+ setTimer(void 0);
6002
6017
  }, delay));
6003
6018
  };
6004
- const clearTimer = () => {
6005
- clearTimeout(timer);
6006
- };
6007
6019
  useEffect12(() => {
6008
6020
  return () => {
6009
6021
  clearTimeout(timer);
@@ -6012,9 +6024,11 @@ function useDelay(options) {
6012
6024
  useEffect12(() => {
6013
6025
  if (disabled) {
6014
6026
  clearTimeout(timer);
6027
+ setTimer(void 0);
6015
6028
  }
6016
6029
  }, [disabled, timer]);
6017
- return { restartTimer, clearTimer };
6030
+ console.log(timer);
6031
+ return { restartTimer, clearTimer, hasActiveTimer: !!timer };
6018
6032
  }
6019
6033
 
6020
6034
  // src/components/user-action/Label.tsx
@@ -8499,6 +8513,7 @@ var TableWithSelection = ({
8499
8513
  state,
8500
8514
  fillerRow,
8501
8515
  rowSelection,
8516
+ disableClickRowClickSelection = false,
8502
8517
  selectionRowId = "selection",
8503
8518
  onRowClick = noop,
8504
8519
  meta,
@@ -8556,21 +8571,124 @@ var TableWithSelection = ({
8556
8571
  ...state
8557
8572
  },
8558
8573
  onRowClick: (row, table) => {
8559
- row.toggleSelected();
8574
+ if (!disableClickRowClickSelection) {
8575
+ row.toggleSelected();
8576
+ }
8560
8577
  onRowClick(row, table);
8561
8578
  },
8562
8579
  meta: {
8563
- bodyRowClassName: "cursor-pointer",
8564
- ...meta
8580
+ ...meta,
8581
+ bodyRowClassName: clsx45(
8582
+ { "cursor-pointer": !disableClickRowClickSelection },
8583
+ meta.bodyRowClassName
8584
+ )
8565
8585
  },
8566
8586
  ...props
8567
8587
  }
8568
8588
  );
8569
8589
  };
8570
8590
 
8571
- // src/components/user-action/DateAndTimePicker.tsx
8572
- import clsx46 from "clsx";
8591
+ // src/components/user-action/CopyToClipboardWrapper.tsx
8592
+ import { useState as useState25 } from "react";
8593
+ import { clsx as clsx46 } from "clsx";
8594
+
8595
+ // src/util/writeToClipboard.ts
8596
+ var writeToClipboard = (text) => {
8597
+ return navigator.clipboard.writeText(text);
8598
+ };
8599
+
8600
+ // src/components/user-action/CopyToClipboardWrapper.tsx
8601
+ import { CheckIcon, Copy } from "lucide-react";
8573
8602
  import { jsx as jsx60, jsxs as jsxs38 } from "react/jsx-runtime";
8603
+ var CopyToClipboardWrapper = ({
8604
+ children,
8605
+ textToCopy,
8606
+ tooltipClassName = "",
8607
+ containerClassName = "",
8608
+ position = "bottom",
8609
+ zIndex = 10
8610
+ }) => {
8611
+ const translation = useTranslation([formTranslation]);
8612
+ const [isShowingIndication, setIsShowingIndication] = useState25(false);
8613
+ const [isShowingConfirmation, setIsShowingConfirmation] = useState25(false);
8614
+ const positionClasses = {
8615
+ top: `bottom-full left-1/2 -translate-x-1/2 mb-[6px]`,
8616
+ bottom: `top-full left-1/2 -translate-x-1/2 mt-[6px]`,
8617
+ left: `right-full top-1/2 -translate-y-1/2 mr-[6px]`,
8618
+ right: `left-full top-1/2 -translate-y-1/2 ml-[6px]`
8619
+ };
8620
+ const triangleSize = 6;
8621
+ const triangleClasses = {
8622
+ top: `top-full left-1/2 -translate-x-1/2 border-t-tooltip-background border-l-transparent border-r-transparent`,
8623
+ bottom: `bottom-full left-1/2 -translate-x-1/2 border-b-tooltip-background border-l-transparent border-r-transparent`,
8624
+ left: `left-full top-1/2 -translate-y-1/2 border-l-tooltip-background border-t-transparent border-b-transparent`,
8625
+ right: `right-full top-1/2 -translate-y-1/2 border-r-tooltip-background border-t-transparent border-b-transparent`
8626
+ };
8627
+ const triangleStyle = {
8628
+ top: { borderWidth: `${triangleSize}px ${triangleSize}px 0 ${triangleSize}px` },
8629
+ bottom: { borderWidth: `0 ${triangleSize}px ${triangleSize}px ${triangleSize}px` },
8630
+ left: { borderWidth: `${triangleSize}px 0 ${triangleSize}px ${triangleSize}px` },
8631
+ right: { borderWidth: `${triangleSize}px ${triangleSize}px ${triangleSize}px 0` }
8632
+ };
8633
+ return /* @__PURE__ */ jsxs38(
8634
+ "div",
8635
+ {
8636
+ className: clsx46("relative inline-block cursor-copy", containerClassName),
8637
+ onMouseEnter: () => {
8638
+ setIsShowingIndication(true);
8639
+ },
8640
+ onMouseLeave: () => {
8641
+ setIsShowingIndication(false);
8642
+ setIsShowingConfirmation(false);
8643
+ },
8644
+ onClick: () => {
8645
+ writeToClipboard(textToCopy).catch(console.error);
8646
+ setIsShowingIndication(false);
8647
+ setIsShowingConfirmation(true);
8648
+ },
8649
+ children: [
8650
+ children,
8651
+ /* @__PURE__ */ jsxs38(
8652
+ "div",
8653
+ {
8654
+ className: clsx46(
8655
+ `absolute text-xs font-semibold text-tooltip-text px-2 py-1 rounded whitespace-nowrap
8656
+ shadow-around-md bg-tooltip-background cursor-default pointer-events-none`,
8657
+ "transition-opacity duration-200",
8658
+ positionClasses[position],
8659
+ tooltipClassName
8660
+ ),
8661
+ style: {
8662
+ zIndex,
8663
+ opacity: isShowingIndication || isShowingConfirmation ? 1 : 0
8664
+ },
8665
+ children: [
8666
+ isShowingConfirmation && /* @__PURE__ */ jsxs38("div", { className: "row gap-x-1", children: [
8667
+ /* @__PURE__ */ jsx60(CheckIcon, { size: 16, className: "text-positive" }),
8668
+ translation("copied")
8669
+ ] }),
8670
+ isShowingIndication && /* @__PURE__ */ jsxs38("div", { className: "row gap-x-1 text-description", children: [
8671
+ /* @__PURE__ */ jsx60(Copy, { size: 16 }),
8672
+ translation("clickToCopy")
8673
+ ] }),
8674
+ /* @__PURE__ */ jsx60(
8675
+ "div",
8676
+ {
8677
+ className: clsx46(`absolute w-0 h-0`, triangleClasses[position]),
8678
+ style: { ...triangleStyle[position], zIndex: zIndex + 1 }
8679
+ }
8680
+ )
8681
+ ]
8682
+ }
8683
+ )
8684
+ ]
8685
+ }
8686
+ );
8687
+ };
8688
+
8689
+ // src/components/user-action/DateAndTimePicker.tsx
8690
+ import clsx47 from "clsx";
8691
+ import { jsx as jsx61, jsxs as jsxs39 } from "react/jsx-runtime";
8574
8692
  var DateTimePicker = ({
8575
8693
  overwriteTranslation,
8576
8694
  value = /* @__PURE__ */ new Date(),
@@ -8589,7 +8707,7 @@ var DateTimePicker = ({
8589
8707
  let dateDisplay;
8590
8708
  let timeDisplay;
8591
8709
  if (useDate) {
8592
- dateDisplay = /* @__PURE__ */ jsx60(
8710
+ dateDisplay = /* @__PURE__ */ jsx61(
8593
8711
  DatePicker,
8594
8712
  {
8595
8713
  ...datePickerProps,
@@ -8603,25 +8721,25 @@ var DateTimePicker = ({
8603
8721
  );
8604
8722
  }
8605
8723
  if (useTime) {
8606
- timeDisplay = /* @__PURE__ */ jsx60(
8724
+ timeDisplay = /* @__PURE__ */ jsx61(
8607
8725
  TimePicker,
8608
8726
  {
8609
8727
  ...timePickerProps,
8610
- className: clsx46("h-full", { "justify-between w-full": mode === "time" }),
8728
+ className: clsx47("h-full", { "justify-between w-full": mode === "time" }),
8611
8729
  maxHeight: 250,
8612
8730
  time: value,
8613
8731
  onChange
8614
8732
  }
8615
8733
  );
8616
8734
  }
8617
- return /* @__PURE__ */ jsxs38("div", { className: "col w-fit", children: [
8618
- /* @__PURE__ */ jsxs38("div", { className: "row gap-x-4", children: [
8735
+ return /* @__PURE__ */ jsxs39("div", { className: "col w-fit", children: [
8736
+ /* @__PURE__ */ jsxs39("div", { className: "row gap-x-4", children: [
8619
8737
  dateDisplay,
8620
8738
  timeDisplay
8621
8739
  ] }),
8622
- /* @__PURE__ */ jsx60("div", { className: "row justify-end", children: /* @__PURE__ */ jsxs38("div", { className: "row gap-x-2 mt-1", children: [
8623
- /* @__PURE__ */ jsx60(SolidButton, { size: "medium", color: "negative", onClick: onRemove, children: translation("clear") }),
8624
- /* @__PURE__ */ jsx60(
8740
+ /* @__PURE__ */ jsx61("div", { className: "row justify-end", children: /* @__PURE__ */ jsxs39("div", { className: "row gap-x-2 mt-1", children: [
8741
+ /* @__PURE__ */ jsx61(SolidButton, { size: "medium", color: "negative", onClick: onRemove, children: translation("clear") }),
8742
+ /* @__PURE__ */ jsx61(
8625
8743
  SolidButton,
8626
8744
  {
8627
8745
  size: "medium",
@@ -8634,9 +8752,9 @@ var DateTimePicker = ({
8634
8752
  };
8635
8753
 
8636
8754
  // src/components/user-action/ScrollPicker.tsx
8637
- import { useCallback as useCallback6, useEffect as useEffect26, useState as useState25 } from "react";
8638
- import clsx47 from "clsx";
8639
- import { jsx as jsx61, jsxs as jsxs39 } from "react/jsx-runtime";
8755
+ import { useCallback as useCallback6, useEffect as useEffect26, useState as useState26 } from "react";
8756
+ import clsx48 from "clsx";
8757
+ import { jsx as jsx62, jsxs as jsxs40 } from "react/jsx-runtime";
8640
8758
  var up = 1;
8641
8759
  var down = -1;
8642
8760
  var ScrollPicker = ({
@@ -8655,7 +8773,7 @@ var ScrollPicker = ({
8655
8773
  transition,
8656
8774
  items,
8657
8775
  lastTimeStamp
8658
- }, setAnimation] = useState25({
8776
+ }, setAnimation] = useState26({
8659
8777
  targetIndex: selectedIndex,
8660
8778
  currentIndex: disabled ? selectedIndex : 0,
8661
8779
  velocity: 0,
@@ -8775,7 +8893,7 @@ var ScrollPicker = ({
8775
8893
  }
8776
8894
  return clamp(1 - opacityValue / max);
8777
8895
  };
8778
- return /* @__PURE__ */ jsx61(
8896
+ return /* @__PURE__ */ jsx62(
8779
8897
  "div",
8780
8898
  {
8781
8899
  className: "relative overflow-hidden",
@@ -8785,15 +8903,15 @@ var ScrollPicker = ({
8785
8903
  setAnimation(({ velocity, ...animationData }) => ({ ...animationData, velocity: velocity + event.deltaY }));
8786
8904
  }
8787
8905
  },
8788
- children: /* @__PURE__ */ jsxs39("div", { className: "absolute top-1/2 -translate-y-1/2 -translate-x-1/2 left-1/2", children: [
8789
- /* @__PURE__ */ jsx61(
8906
+ children: /* @__PURE__ */ jsxs40("div", { className: "absolute top-1/2 -translate-y-1/2 -translate-x-1/2 left-1/2", children: [
8907
+ /* @__PURE__ */ jsx62(
8790
8908
  "div",
8791
8909
  {
8792
8910
  className: "absolute z-[1] top-1/2 -translate-y-1/2 -translate-x-1/2 left-1/2 w-full min-w-[40px] border border-divider/30 border-y-2 border-x-0 ",
8793
8911
  style: { height: `${itemHeight}px` }
8794
8912
  }
8795
8913
  ),
8796
- /* @__PURE__ */ jsx61(
8914
+ /* @__PURE__ */ jsx62(
8797
8915
  "div",
8798
8916
  {
8799
8917
  className: "col select-none",
@@ -8801,10 +8919,10 @@ var ScrollPicker = ({
8801
8919
  transform: `translateY(${-transition * (distance + itemHeight)}px)`,
8802
8920
  columnGap: `${distance}px`
8803
8921
  },
8804
- children: shownItems.map(({ name, index }, arrayIndex) => /* @__PURE__ */ jsx61(
8922
+ children: shownItems.map(({ name, index }, arrayIndex) => /* @__PURE__ */ jsx62(
8805
8923
  "div",
8806
8924
  {
8807
- className: clsx47(
8925
+ className: clsx48(
8808
8926
  `col items-center justify-center rounded-md`,
8809
8927
  {
8810
8928
  "text-primary font-bold": currentIndex === index,
@@ -8831,10 +8949,10 @@ var ScrollPicker = ({
8831
8949
  };
8832
8950
 
8833
8951
  // src/components/user-action/ToggleableInput.tsx
8834
- import { useEffect as useEffect27, useRef as useRef10, useState as useState26 } from "react";
8952
+ import { useEffect as useEffect27, useRef as useRef10, useState as useState27 } from "react";
8835
8953
  import { Pencil } from "lucide-react";
8836
- import clsx48 from "clsx";
8837
- import { jsx as jsx62, jsxs as jsxs40 } from "react/jsx-runtime";
8954
+ import clsx49 from "clsx";
8955
+ import { jsx as jsx63, jsxs as jsxs41 } from "react/jsx-runtime";
8838
8956
  var ToggleableInput = ({
8839
8957
  type = "text",
8840
8958
  value,
@@ -8849,7 +8967,7 @@ var ToggleableInput = ({
8849
8967
  saveDelayOptions,
8850
8968
  ...restProps
8851
8969
  }) => {
8852
- const [isEditing, setIsEditing] = useState26(initialState !== "display");
8970
+ const [isEditing, setIsEditing] = useState27(initialState !== "display");
8853
8971
  const { restartTimer, clearTimer } = useDelay(saveDelayOptions);
8854
8972
  const ref = useRef10(null);
8855
8973
  const onEditCompletedWrapper = (text) => {
@@ -8861,14 +8979,14 @@ var ToggleableInput = ({
8861
8979
  ref.current?.focus();
8862
8980
  }
8863
8981
  }, [isEditing]);
8864
- return /* @__PURE__ */ jsxs40("div", { children: [
8865
- /* @__PURE__ */ jsxs40(
8982
+ return /* @__PURE__ */ jsxs41("div", { children: [
8983
+ /* @__PURE__ */ jsxs41(
8866
8984
  "div",
8867
8985
  {
8868
- className: clsx48("row items-center w-full gap-x-2 overflow-hidden", { "cursor-pointer": !isEditing }),
8986
+ className: clsx49("row items-center w-full gap-x-2 overflow-hidden", { "cursor-pointer": !isEditing }),
8869
8987
  onClick: () => !isEditing ? setIsEditing(!isEditing) : void 0,
8870
8988
  children: [
8871
- /* @__PURE__ */ jsx62("div", { className: clsx48("row overflow-hidden", { "flex-1": isEditing }), children: isEditing ? /* @__PURE__ */ jsx62(
8989
+ /* @__PURE__ */ jsx63("div", { className: clsx49("row overflow-hidden", { "flex-1": isEditing }), children: isEditing ? /* @__PURE__ */ jsx63(
8872
8990
  "input",
8873
8991
  {
8874
8992
  ref,
@@ -8896,16 +9014,16 @@ var ToggleableInput = ({
8896
9014
  onEditCompletedWrapper(value);
8897
9015
  }
8898
9016
  },
8899
- className: clsx48(`w-full border-none rounded-none ring-0 outline-0 text-inherit bg-inherit shadow-transparent decoration-primary p-0 underline-offset-4`, {
9017
+ className: clsx49(`w-full border-none rounded-none ring-0 outline-0 text-inherit bg-inherit shadow-transparent decoration-primary p-0 underline-offset-4`, {
8900
9018
  underline: isEditing
8901
9019
  }, labelClassName),
8902
9020
  onFocus: (event) => event.target.select()
8903
9021
  }
8904
- ) : /* @__PURE__ */ jsx62("span", { className: clsx48("max-w-xs break-words overflow-hidden", labelClassName), children: value }) }),
8905
- /* @__PURE__ */ jsx62(
9022
+ ) : /* @__PURE__ */ jsx63("span", { className: clsx49("max-w-xs break-words overflow-hidden", labelClassName), children: value }) }),
9023
+ /* @__PURE__ */ jsx63(
8906
9024
  Pencil,
8907
9025
  {
8908
- className: clsx48(`cursor-pointer`, { "text-transparent": isEditing }),
9026
+ className: clsx49(`cursor-pointer`, { "text-transparent": isEditing }),
8909
9027
  size,
8910
9028
  style: { minWidth: `${size}px` }
8911
9029
  }
@@ -8913,7 +9031,7 @@ var ToggleableInput = ({
8913
9031
  ]
8914
9032
  }
8915
9033
  ),
8916
- isEditing && disclaimer && /* @__PURE__ */ jsx62("label", { className: "text-negative", children: disclaimer })
9034
+ isEditing && disclaimer && /* @__PURE__ */ jsx63("label", { className: "text-negative", children: disclaimer })
8917
9035
  ] });
8918
9036
  };
8919
9037
  var ToggleableInputUncontrolled = ({
@@ -8921,11 +9039,11 @@ var ToggleableInputUncontrolled = ({
8921
9039
  onChangeText = noop,
8922
9040
  ...restProps
8923
9041
  }) => {
8924
- const [value, setValue] = useState26(initialValue);
9042
+ const [value, setValue] = useState27(initialValue);
8925
9043
  useEffect27(() => {
8926
9044
  setValue(initialValue);
8927
9045
  }, [initialValue]);
8928
- return /* @__PURE__ */ jsx62(
9046
+ return /* @__PURE__ */ jsx63(
8929
9047
  ToggleableInput,
8930
9048
  {
8931
9049
  value,
@@ -9006,6 +9124,7 @@ export {
9006
9124
  Circle,
9007
9125
  ConfirmDialog,
9008
9126
  ConfirmModal,
9127
+ CopyToClipboardWrapper,
9009
9128
  DatePicker,
9010
9129
  DatePickerUncontrolled,
9011
9130
  DateProperty,
@@ -9143,6 +9262,7 @@ export {
9143
9262
  useTheme,
9144
9263
  useTranslation,
9145
9264
  validateEmail,
9146
- weekDayList
9265
+ weekDayList,
9266
+ writeToClipboard
9147
9267
  };
9148
9268
  //# sourceMappingURL=index.mjs.map