@jinntec/jinntap 1.33.0 → 1.34.1

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.
package/dist/index.es.js CHANGED
@@ -1,15 +1,28 @@
1
1
  import { JinnTap as o } from "./jinn-tap.es.js";
2
- import { JinnToast as n, jinnToastConfirm as a } from "./jinn-toast.es.js";
3
- import { DocumentStore as m, attachLocalStore as c, deduceDocumentName as T, extractTitleFromXml as l, isGenericTitle as f, truncateTitle as p } from "./storage.es.js";
2
+ import { JinnToast as r, jinnToastConfirm as i } from "./jinn-toast.es.js";
3
+ import { DocumentStore as a, HttpAssetStore as c, IndexedDbAssetStore as l, attachAssetStore as m, attachLocalStore as d, attachPublisherAssetStore as u, buildDocumentZip as A, collectReferencedAssets as f, collectionFromDocPath as h, deduceDocumentName as p, downloadDocumentZip as T, downloadXml as D, extractTitleFromXml as S, findReferencedAssetPaths as x, isAbsoluteAssetHref as P, isGenericTitle as b, isProvisionalTitle as w, sanitizeAssetPath as F, truncateTitle as H } from "./storage.es.js";
4
4
  export {
5
- m as DocumentStore,
5
+ a as DocumentStore,
6
+ c as HttpAssetStore,
7
+ l as IndexedDbAssetStore,
6
8
  o as JinnTap,
7
- n as JinnToast,
8
- c as attachLocalStore,
9
- T as deduceDocumentName,
10
- l as extractTitleFromXml,
11
- f as isGenericTitle,
12
- a as jinnToastConfirm,
13
- p as truncateTitle
9
+ r as JinnToast,
10
+ m as attachAssetStore,
11
+ d as attachLocalStore,
12
+ u as attachPublisherAssetStore,
13
+ A as buildDocumentZip,
14
+ f as collectReferencedAssets,
15
+ h as collectionFromDocPath,
16
+ p as deduceDocumentName,
17
+ T as downloadDocumentZip,
18
+ D as downloadXml,
19
+ S as extractTitleFromXml,
20
+ x as findReferencedAssetPaths,
21
+ P as isAbsoluteAssetHref,
22
+ b as isGenericTitle,
23
+ w as isProvisionalTitle,
24
+ i as jinnToastConfirm,
25
+ F as sanitizeAssetPath,
26
+ H as truncateTitle
14
27
  };
15
28
  //# sourceMappingURL=index.es.js.map
package/dist/jinn-tap.css CHANGED
@@ -556,29 +556,29 @@ jinn-tap > .jinn-tap-aside .attribute-panel footer {
556
556
  jinn-tap > .jinn-tap-aside .attribute-panel footer button {
557
557
  display: inline-flex;
558
558
  align-items: center;
559
- gap: 0.25rem;
559
+ gap: 0.35rem;
560
560
  height: auto;
561
561
  min-height: 0;
562
562
  margin: 0;
563
- padding: 0.22rem 0.45rem;
564
- border: 1px solid var(--jinn-tap-toolbar-separator, rgba(0, 0, 0, 0.14));
565
- border-radius: 4px;
566
- background: var(--jinn-tap-background-color, white);
567
- color: inherit;
563
+ padding: 0.45rem 0.9rem;
564
+ border: 1px solid var(--jinn-tap-toolbar-fg, #1a1a1a);
565
+ border-radius: 5px;
566
+ background: var(--jinn-tap-toolbar-fg, #1a1a1a);
567
+ color: var(--jinn-tap-background-color, white);
568
568
  font: inherit;
569
- font-size: 0.78rem;
570
- font-weight: 500;
571
- line-height: 1;
569
+ font-size: 0.875rem;
570
+ font-weight: 600;
571
+ line-height: 1.15;
572
572
  cursor: pointer;
573
573
  }
574
574
 
575
575
  jinn-tap > .jinn-tap-aside .attribute-panel footer button:hover {
576
- background: var(--jinn-tap-toolbar-hover, rgba(0, 0, 0, 0.06));
576
+ filter: brightness(1.25);
577
577
  }
578
578
 
579
579
  jinn-tap > .jinn-tap-aside .attribute-panel footer button svg {
580
- width: 0.95rem;
581
- height: 0.95rem;
580
+ width: 1.1rem;
581
+ height: 1.1rem;
582
582
  flex: 0 0 auto;
583
583
  }
584
584
 
@@ -779,6 +779,138 @@ jinn-tap .attribute-panel.has-connector.is-expanded pb-authority-lookup::part(ou
779
779
  overflow-y: auto;
780
780
  }
781
781
 
782
+ /* Asset picker (graphic url / xlink:href) */
783
+ jinn-tap .asset-picker {
784
+ display: flex;
785
+ flex-direction: column;
786
+ gap: 0.75rem;
787
+ min-height: 0;
788
+ flex: 1 1 auto;
789
+ }
790
+
791
+ jinn-tap .asset-picker__note {
792
+ margin: 0.5rem 0 0;
793
+ font-size: 0.8125rem;
794
+ color: var(--jinn-tap-muted, #55504a);
795
+ }
796
+
797
+ jinn-tap .asset-picker__dropzone {
798
+ border: 1px dashed var(--jinn-tap-toolbar-separator, rgba(26, 24, 22, 0.25));
799
+ border-radius: 0.35rem;
800
+ padding: 0.75rem;
801
+ text-align: center;
802
+ font-size: 0.8125rem;
803
+ color: var(--jinn-tap-muted, #55504a);
804
+ background: rgba(26, 24, 22, 0.03);
805
+ transition: border-color 0.15s, background 0.15s;
806
+ }
807
+
808
+ jinn-tap .asset-picker__dropzone.is-dragover {
809
+ border-color: var(--jinn-tap-accent, #6c4cf0);
810
+ background: rgba(108, 76, 240, 0.08);
811
+ }
812
+
813
+ jinn-tap .asset-picker__browse {
814
+ color: var(--jinn-tap-accent, #6c4cf0);
815
+ cursor: pointer;
816
+ text-decoration: underline;
817
+ }
818
+
819
+ jinn-tap .asset-picker__status {
820
+ margin: 0;
821
+ font-size: 0.75rem;
822
+ color: var(--jinn-tap-muted, #55504a);
823
+ }
824
+
825
+ jinn-tap .asset-picker__status:empty {
826
+ display: none;
827
+ }
828
+
829
+ jinn-tap .asset-picker__grid {
830
+ display: grid;
831
+ grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
832
+ gap: 0.5rem;
833
+ overflow-y: auto;
834
+ max-height: min(50vh, 32rem);
835
+ padding: 0.15rem;
836
+ }
837
+
838
+ jinn-tap .asset-picker__item {
839
+ position: relative;
840
+ }
841
+
842
+ jinn-tap .asset-picker__thumb {
843
+ display: flex;
844
+ flex-direction: column;
845
+ align-items: stretch;
846
+ gap: 0.25rem;
847
+ width: 100%;
848
+ margin: 0;
849
+ padding: 0.25rem;
850
+ border: 1px solid transparent;
851
+ border-radius: 0.35rem;
852
+ background: transparent;
853
+ color: inherit;
854
+ cursor: pointer;
855
+ font: inherit;
856
+ text-align: left;
857
+ }
858
+
859
+ jinn-tap .asset-picker__thumb:hover {
860
+ background: rgba(26, 24, 22, 0.06);
861
+ }
862
+
863
+ jinn-tap .asset-picker__thumb.is-selected {
864
+ border-color: var(--jinn-tap-accent, #6c4cf0);
865
+ background: rgba(108, 76, 240, 0.1);
866
+ }
867
+
868
+ jinn-tap .asset-picker__thumb img {
869
+ display: block;
870
+ width: 100%;
871
+ aspect-ratio: 1;
872
+ object-fit: cover;
873
+ border-radius: 0.25rem;
874
+ background: rgba(26, 24, 22, 0.06);
875
+ }
876
+
877
+ jinn-tap .asset-picker__thumb span {
878
+ font-size: 0.6875rem;
879
+ line-height: 1.2;
880
+ overflow: hidden;
881
+ text-overflow: ellipsis;
882
+ white-space: nowrap;
883
+ }
884
+
885
+ jinn-tap .asset-picker__delete {
886
+ position: absolute;
887
+ top: 0.2rem;
888
+ right: 0.2rem;
889
+ display: flex;
890
+ align-items: center;
891
+ justify-content: center;
892
+ width: 1.5rem;
893
+ height: 1.5rem;
894
+ margin: 0;
895
+ padding: 0;
896
+ border: none;
897
+ border-radius: 0.25rem;
898
+ background: rgba(26, 24, 22, 0.72);
899
+ color: #fffefc;
900
+ cursor: pointer;
901
+ opacity: 0;
902
+ transition: opacity 0.15s;
903
+ }
904
+
905
+ jinn-tap .asset-picker__item:hover .asset-picker__delete,
906
+ jinn-tap .asset-picker__item:focus-within .asset-picker__delete {
907
+ opacity: 1;
908
+ }
909
+
910
+ jinn-tap .asset-picker__delete:hover {
911
+ background: var(--jinn-tap-error, #ee402e);
912
+ }
913
+
782
914
  /*
783
915
  * Authority action buttons (link / edit / add). Icons are inline SVGs that use
784
916
  * stroke="currentColor"; requires @teipublisher/pb-components >= 3.6.6 for
@@ -957,6 +1089,32 @@ jinn-tap:fullscreen .code-area {
957
1089
  margin-top: 1rem;
958
1090
  }
959
1091
 
1092
+ .jinn-tap-aside .attribute-panel footer button {
1093
+ display: inline-flex;
1094
+ align-items: center;
1095
+ gap: 0.35rem;
1096
+ padding: 0.45rem 0.9rem;
1097
+ border: 1px solid var(--jinn-tap-toolbar-fg, #1a1a1a);
1098
+ border-radius: 5px;
1099
+ background: var(--jinn-tap-toolbar-fg, #1a1a1a);
1100
+ color: var(--jinn-tap-background-color, white);
1101
+ font: inherit;
1102
+ font-size: 0.875rem;
1103
+ font-weight: 600;
1104
+ line-height: 1.15;
1105
+ cursor: pointer;
1106
+ }
1107
+
1108
+ .jinn-tap-aside .attribute-panel footer button:hover {
1109
+ filter: brightness(1.25);
1110
+ }
1111
+
1112
+ .jinn-tap-aside .attribute-panel footer button svg {
1113
+ width: 1.1rem;
1114
+ height: 1.1rem;
1115
+ flex: 0 0 auto;
1116
+ }
1117
+
960
1118
  .jinn-tap-aside pb-authority-lookup::part(output) {
961
1119
  /* Only the results list scrolls; the search header above stays visible */
962
1120
  max-height: min(50vh, 32rem);